Gewusst wie: Überprüfen auf geänderte Zeilen

Aktualisiert: November 2007

Wenn Änderungen an Datensätzen in einem Dataset vorgenommen werden, werden die Informationen zu diesen Änderungen gespeichert, bis ein Commit ausgeführt wird. Für Änderungen wird dann ein Commit ausgeführt, wenn die AcceptChanges-Methode eines Datasets, einer Datentabelle oder die Update-Methode eines TableAdapter oder eines Datenadapters aufgerufen wird.

Änderungen werden in allen Datenzeilen auf zweifache Weise nachverfolgt:

  • Jede Datenzeile enthält Informationen über ihren RowState (z. B. Added, Modified, Deleted, Unchanged).

  • Jede geänderte Datenzeile enthält mehrere Versionen dieser Zeile (DataRowVersion), auf die Sie zugreifen können: die Originalversion (vor den Änderungen) und die aktuelle Version (nach den Änderungen). In dem Zeitraum, während dessen eine Änderung noch nicht festgeschrieben wurde (in der Zeit, in der Sie auf das RowChanging-Ereignis reagieren können), ist zusätzlich eine dritte Version verfügbar, die so genannte vorläufige Version. Weitere Informationen finden Sie unter Gewusst wie: Abrufen spezifischer Versionen einer DataRow.

Feststellen, ob geänderte Zeilen vorhanden sind

Wenn das Dataset geändert wurde, gibt die HasChanges-Methode eines Datasets den Wert true zurück. Nachdem festgestellt wurde, dass geänderte Zeilen vorhanden sind, können Sie die GetChanges-Methode eines DataSet oder einer DataTable aufrufen, um die Gruppe der geänderten Zeilen zurückzugeben. Weitere Informationen finden Sie unter Gewusst wie: Abrufen von geänderten Zeilen.

So stellen Sie fest, ob Zeilen geändert wurden

  • Rufen Sie die HasChanges-Methode eines Datasets auf, um geänderte Zeilen zu suchen.

    Im folgenden Beispiel wird veranschaulicht, wie Sie anhand des Rückgabewerts der HasChanges-Methode feststellen, ob ein Dataset mit dem Namen NorthwindDataset1 geänderte Zeilen enthält.

    If NorthwindDataSet1.HasChanges() Then
    
        ' Changed rows were detected, add appropriate code.
    Else
        ' No changed rows were detected, add appropriate code. 
    End If
    
    if (northwindDataSet1.HasChanges()) 
    {
        // Changed rows were detected, add appropriate code.
    }
    else
    {
        // No changed rows were detected, add appropriate code.
    }
    

Feststellen, welche Art von Änderung vorgenommen wurde

Sie können außerdem ermitteln, welche Art von Änderungen in einem Dataset vorgenommen wurden, indem Sie einen Wert aus der DataRowState-Enumeration an die HasChanges-Methode übergeben.

So stellen Sie fest, welche Art von Änderungen an einer Zeile vorgenommen wurden

  • Übergeben Sie einen DataRowState-Wert an die HasChanges-Methode.

    Das folgende Beispiel zeigt, wie Sie ein Dataset mit dem Namen NorthwindDataset1 daraufhin überprüfen, ob neue Zeilen hinzugefügt wurden:

    If NorthwindDataSet1.HasChanges(DataRowState.Added) Then
    
        ' New rows have been added to the dataset, add appropriate code.
    Else
        ' No new rows have been added to the dataset, add appropriate code.
    End If
    
    if (northwindDataSet1.HasChanges(DataRowState.Added)) 
    {
        // New rows have been added to the dataset, add appropriate code.
    }
    else
    {
        // No new rows have been added to the dataset, add appropriate code.
    }
    

Siehe auch

Konzepte

Neue Datenfeatures

Übersicht über das Anzeigen von Daten

Weitere Ressourcen

Bearbeiten von Daten in der Anwendung

Exemplarische Vorgehensweisen zur Arbeit mit Daten

Herstellen von Datenverbindungen in Visual Studio

Vorbereiten der Anwendung auf den Empfang von Daten

Abrufen von Daten für die Anwendung

Anzeigen von Daten in Formularen in Windows-Anwendungen

Überprüfen von Daten

Speichern von Daten