SQL Server-Benachrichtigungen - Mein OnChange nicht ausgelöst

Möchte ich die Verwendung der SQL Server-Meldungen zu erfassen, legen Sie Ereignisse in meiner Datenbank in einer winforms app. Ich bin versucht, verwenden Sie die SQLDependency-Objekt. In den MSDN-Artikeln machen, diese scheinen ziemlich geradlinig. So habe ich eine kleine Beispiel-Anwendung, um es zu versuchen. Das event scheint nur auf Feuer, als ich in meine Anwendung das erste mal(MessageBox angezeigt). Einfügen von Daten in die Tabelle nicht erhöhen, das OnChange-Ereignis, wie es scheint. Kann mir jemand sagen was mir fehlt? Danke!

 public Main()
    {
        InitializeComponent();
        var check = EnoughPermission();
        SqlDependency.Stop(constr);
        SqlDependency.Start(constr);
        if(connection == null)
        {
            connection = new SqlConnection(constr);
        }
        if(command == null)
        {
            command = new SqlCommand("Select ID, ChatMessage FROM dbo.Chat",connection);
        }
        connection.Open();
        command.Notification = null;
        SqlDependency dependency = new SqlDependency(command);
        dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
        command.ExecuteReader();
    }





    private void dependency_OnChange(object sender, SqlNotificationEventArgs e)
    {
        MessageBox.Show("Change!");
    }
  • Wo sind Sie die Daten einfügen? Eine SELECT-Anweisung ist nicht ein INSERT.
  • Ich bin das einfügen der Daten in einer Query analyzer.. Guten Ruf auf dem INSERT nicht ein WÄHLEN Sie:") Die Option ist erforderlich, um zu bestätigen, um die Datenbank, die Daten sind gerade für Benachrichtigungen.
  • Beachten Sie, dass ich die übergabe, die Sie AUSWÄHLEN, um die SqlDendency obj..
InformationsquelleAutor Nick | 2009-12-15
Schreibe einen Kommentar