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
Ü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