Mit zwei Datensätze in Visual Basic ist eine der besten Möglichkeiten, um Daten synchronisiert, wenn ein Benutzer Änderungen an den ursprünglichen Daten zu halten. A " DataSet " eine in - Cache-Speicher von Daten aus einer Datenquelle, z. B. einer Tabelle abgerufen . Programmierer häufig Daten aus einer Datenbank -Tabelle in eine " DataSet " und erlauben dem Benutzer, Änderungen an den ursprünglichen Daten zu machen. Eine zweite " DataSet " verwendet wird , um die Änderungen zu erfassen und verschmolzen wieder auf den ursprünglichen " DataSet " mit dem " DataSet.Merge "-Methode. Things You
Microsoft Visual Studio
brauchen anzeigen Weitere Anweisungen
1
Starten Sie Microsoft Visual Studio , klicken Sie auf "Neues Projekt" aus dem linken Bereich des Bildschirm Ihres Computers , und erweitern " Visual Basic " unter " Installierte Vorlagen . " Klicken Sie "Windows " und doppelklicken Sie auf "Console Application" aus der Mitte der Dialog um eine neue Konsole Projekt zu erstellen.
2
Kopieren Sie den folgenden Code , um die erste zu schaffen " DataSet " ein Tisch, zwei Spalten und drei Zeilen :
Dim As New DataSet dataSet ( " dataSet " )
Dim Tabelle As New DataTable ( "Items" )
Dim idColumn As New DataColumn ( "id" , Type.GetType ( " System.Int32 " ) )
idColumn.AutoIncrement = True
Dim itemColumn As New DataColumn ( "Item" , Type.GetType ( " System.Int32 " ) )
Dim Zeile als DataRow
3
Fügen Sie die folgende Codezeile , um die zweite " DataSet : " erstellen
Dim changeDataSet As DataSet
4
hinzufügen coulumns Tabelle und fügen Sie die Tabelle, um die
5
In zehn Reihen von Daten in die Tabelle und die Änderungen zu übernehmen :
Dim i As Integer
For i = 0 To 9
row = table.NewRow ()
Reihe ( "Item" ) = i
table.Rows.Add (Zeile)
Next i
DataSet.AcceptChanges ()
6
Print " DataSet " Werte in die Konsole-Fenster :
PrintValues ( dataSet , "Original values" )
7
Ändern Sie die Tabelle indem neue Werte in die ersten beiden Reihen , um eine neue Zeile , und das Hinzufügen einen Fehler an einer der Reihen :
table.Rows (0) ( "Item" ) = 50
table.Rows (1) ( "Item" ) = 111
row = table.NewRow ()
Reihe ( "Item" ) = 74
table.Rows . In (Zeile)
table.Rows (1). RowError = " über 100 "
PrintValues ( dataSet , "Modified und New Values" )
8
prüfen Sie, ob die Tabelle Veränderungen und wenn es dann keine Änderungen zusammenführen zurück auf die erste " DataSet " und drucken sie die Ergebnisse:
Wenn dataSet.HasChanges ( DataRowState.Modified Oder DataRowState.Added ) _
< p > Und dataSet.HasErrors Dann
changeDataSet = dataSet.GetChanges ( DataRowState.Modified _
Oder DataRowState.Added )
PrintValues ( changeDataSet " Subset Werte " )
Dim CHANGETABLE Wie DataTable
For Each CHANGETABLE In changeDataSet.Tables
Wenn changeTable.HasErrors Dann
Dim changeRow Wie DataRow
For Each changeRow In changeTable.Rows
Wenn CInt ( changeRow ( "Item ", _
DataRowVersion.Current ) ) > 100 Dann
changeRow.RejectChanges ()
changeRow.ClearErrors ()
End If Next
changeRow
End If Next
CHANGETABLE
PrintValues ( changeDataSet , " versöhnt Teilmenge Werte " )
DataSet.Merge ( changeDataSet )
PrintValues ( dataSet " Zusammengeführt Values" )
Console.ReadLine ()
End If End Sub
9
Fügen Sie die folgende Sub-Prozedur auf " DataSet " Werte in die Konsole-Fenster ausdrucken :
private Sub PrintValues (ByVal dataSet As DataSet , ByVal Label As String)
Console.WriteLine ( ControlChars.Cr & Label)
Dim Tabelle als DataTable
für jede Tabelle in dataSet.Tables
< p > Console.WriteLine (" TableName :" & table.TableName )
Dim Zeile als DataRow
für jede Zeile in table.Rows
Dim Spalte als DataColumn
für jede Spalte in table.Columns
Console.Write ( ControlChars.Tab & "" _
& Zeile (Spalte ) . ToString () )
Weiter Spalte
Console.WriteLine ( )
Nächste Reihe
Tisch Next
End Sub
10
Presse "F5" um das Programm auszuführen .