Поделиться через


Удаление подписки

Метод Delete класса Subscription удаляет существующую запись подписки в базе данных приложения. Примеры ниже показывают, как удалить подписку с помощью управляемого кода и с помощью языка Microsoft Visual Basic Scripting Edition (VBScript) для демонстрации взаимодействия COM.

Пример управляемого кода

На следующем примере показано, как установить местонахождение конкретной подписки при помощи объекта SubscriptionEnumeration и метода GetFieldValue, а затем удалить эту подписку. В данном примере удаляются все подписки подписчика, при этом значение «City» равно «Edmonds».

При разработке пользовательского интерфейса можно использовать класс SubscriptionEnumeration, чтобы составить список всех подписок подписчика, разрешить подписчику выбрать подписку, а затем удалить ее.

// Create the NSInstance object.
NSInstance testInstance = new NSInstance("Tutorial");

// Create the NSApplication object.
NSApplication testApplication =
    new NSApplication(testInstance, "Weather");

// Create the Subscription object.
Subscription testSubscription =
    new Subscription(testApplication, "WeatherCity");


// Create a SubscriptionEnumeration object.
// that contains all of the subscriber's subscriptions
// in a specific subscription class
SubscriptionEnumeration testSubscriptionEnumeration =
    new SubscriptionEnumeration(testApplication,
        "WeatherCity", "TestUser1");

// Iterate through the subscriptions, finding the subscription
// that you want to delete.
foreach (Subscription subscription in testSubscriptionEnumeration)
{
    String city = subscription.GetFieldValue("City").ToString();
    if (city.Equals("Edmonds"))
        testSubscription.SubscriptionId = subscription.SubscriptionId;
}

// Delete the subscription
testSubscription.Delete();

Пример взаимодействия COM

На примере кода VBScript показано, как удалять подписку при помощи взаимодействия COM. При использовании взаимодействия COM сначала нужно создать объекты, а потом инициализировать их. Остальная часть кода аналогична примеру управляемого кода, представленному выше.

Dim testInstance, testApplication, testSubscriptionEnumeration

const instanceName = "Tutorial"
const applicationName = "Weather"
const subscriptionClassName = "WeatherCity"

' Create the NSInstance object.
set testInstance = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.NSInstance")
testInstance.Initialize instanceName

' Create the NSApplication object.
set testApplication = WScript.CreateObject( _
    "Microsoft.SqlServer.NotificationServices.NSApplication")
testApplication.Initialize (testInstance), applicationName

' Create the SubscriptionEnumeration object.
' This constructor returns the subscriptions for
' the specified application, subscription class, and subscriber.
set testSubscriptionEnumeration = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.SubscriptionEnumeration")
testSubscriptionEnumeration.Initialize (testApplication), _ 
    subscriptionClassName, "TestUser1"

' Step through the subscriptions, locate the one 
' that should be removed, and delete it.
for each thisSubscription in testSubscriptionEnumeration
    if thisSubscription.GetFieldValue("City") = "Orlando" then
        thisSubscription.Delete
    end if
next

wscript.echo "Subscriber deleted."

См. также

Основные понятия

Создание объекта Subscription
Добавление подписки
Обновление подписки
Получение сведений о поле подписки
Заполнение списка языковых стандартов подписчиков
Заполнение списка часовых поясов

Другие ресурсы

Представление NS<SubscriptionClassName>View

Справка и поддержка

Получение помощи по SQL Server 2005