Share via


Eliminazione di una sottoscrizione

Il metodo Delete della classe Subscription elimina un record di sottoscrizione esistente nel database dell'applicazione. Negli esempi seguenti viene illustrato come eliminare una sottoscrizione utilizzando codice gestito e Microsoft Visual Basic Scripting Edition (VBScript) per illustrare l'interoperatività COM.

Esempio di codice gestito

Nell'esempio seguente viene illustrato come individuare una sottoscrizione specifica utilizzando un oggetto SubscriptionEnumeration e il metodo GetFieldValue, e quindi eliminare la sottoscrizione. Nell'esempio vengono eliminate tutte le sottoscrizioni del sottoscrittore con un valore City uguale a Edmonds.

Se si sviluppa un'interfaccia utente, è possibile utilizzare la classe SubscriptionEnumeration per elencare tutte le sottoscrizioni del sottoscrittore e consentire al sottoscrittore di selezionare una sottoscrizione e quindi eliminarla.

// 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();

Esempio di interoperatività COM

Nel seguente esempio di codice VBScript viene illustrato come eliminare una sottoscrizione utilizzando l'interoperabilità COM. Quando si utilizza l'interoperabilità COM, è necessario anzitutto creare e quindi inizializzare gli oggetti. Il resto del codice è analogo all'esempio di codice gestito precedente.

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."

Vedere anche

Concetti

Creazione di un oggetto di sottoscrizione
Aggiunta di una sottoscrizione
Aggiornamento di una sottoscrizione
Recupero di informazioni sul campo sottoscrizione
Popolamento di un elenco delle impostazioni internazionali dei sottoscrittori
Popolamento di elenco di fusi orari

Altre risorse

Vista NS<SubscriptionClassName>

Guida in linea e informazioni

Assistenza su SQL Server 2005