Partager via


Suppression d'un abonnement

La méthode Delete de la classe Subscription supprime un enregistrement d'abonnement existant de la base de données d'application. Les exemples ci-dessous montrent comment supprimer un abonnement en utilisant le code managé et Microsoft Visual Basic Scripting Edition (VBScript) via COM Interop.

Exemple de code managé

L'exemple suivant montre comment repérer un abonnement spécifique à l'aide d'un objet SubscriptionEnumeration et de la méthode GetFieldValue et comment supprimer l'abonnement. Cet exemple supprime tous les abonnements de l'abonné dont la valeur City est égale à Edmonds.

Si vous développez une interface utilisateur, vous pouvez utiliser la classe SubscriptionEnumeration pour répertorier tous les abonnements de l'abonné et pour permettre ensuite à celui-ci de sélectionner un abonnement et de le supprimer.

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

Exemple COM Interop

L'exemple de code VBScript suivant montre comment supprimer un abonnement à l'aide de COM Interop. Lors de l'utilisation de COM Interop, vous devez d'abord créer des objets et les initialiser ensuite. Le reste du code est analogue à l'exemple de code managé décrit ci-dessus.

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

Voir aussi

Concepts

Création d'un objet d'abonnement
Ajout d'un abonnement
Mise à jour d'un abonnement
Obtention d'informations sur le champ d'abonnement
Remplissage d'une liste de paramètres régionaux d'abonnés
Remplissage d'une liste de fuseau horaire

Autres ressources

Vue NS<SubscriptionClassName>

Aide et Informations

Assistance sur SQL Server 2005