Met behulp van twee datasets in Visual Basic is een van de beste manieren om gegevens gesynchroniseerd wanneer een gebruiker wijzigingen aanbrengt in de oorspronkelijke gegevens te bewaren . Een " DataSet " is een in-memory cache van de gegevens opgehaald uit een gegevensbron , zoals een tafel . Programmeurs vaak gegevens te laden uit een database tabel om een " DataSet " en kan de gebruiker wijzigingen in de oorspronkelijke gegevens. Een tweede " dataset " wordt gebruikt om de veranderingen te vangen en samengevoegd terug naar de oorspronkelijke " dataset " met de " DataSet.Merge " methode . Wat je nodig hebt Microsoft Visual Studio Toon Meer Aanwijzingen 1 Lancering Microsoft Visual Studio , klikt u op " New Project" van het linkerpaneel van uw computerscherm , en uitbreiden " Visual Basic " onder " Installed Sjablonen . " Klik op " Windows " en dubbelklik op " Console Application " van het centrum van het dialoogvenster om een nieuwe console project te maken . Copy 2 en plak de volgende code om de eerste te creëren " DataSet , " een tafel , twee kolommen en drie rijen : Dim dataset als Nieuwe Dataset ( " dataset " ) Dim tafel als Nieuwe DataTable ( " items" ) op Twitter Dim idColumn zoals New DataColumn ( " id " , Type.GetType ( " System.Int32 " ) ) idColumn.AutoIncrement = True Dim itemColumn als Nieuwe DataColumn ( " Item" , Type.GetType ( " System.Int32 " ) ) Dim rij als DataRow 3 Voeg de volgende regel code aan de tweede " DataSet : " creëren Dim changeDataSet Zoals DataSet 4 coulumns toevoegen aan tafel en voeg de tafel om de Goedkope 5 In tien rijen met gegevens naar de tafel en accepteer de wijzigingen : Dim i As Integer Voor i = 0 To 9 rij = table.NewRow ( ) rij ( " Item" ) = i table.Rows.Add ( rij ) op Volgende i dataSet.AcceptChanges ( ) Print " DataSet " waarden 6 om het venster Console : PrintValues ( dataset , " Original waarden " ) 7 Wijzig de tafel door nieuwe waarden voor de eerste twee rijen , het toevoegen van een nieuwe rij , en het toevoegen van een fout van een van de rijen : table.Rows ( 0 ) ( " punt " ) = 50 table.Rows ( 1 ) ( " Item" ) = 111 rij = table.NewRow ( ) rij ( " Item" ) = 74 table.Rows . Toevoegen ( rij) table.Rows ( 1 ) . RowError = " meer dan 100 " PrintValues ( dataset , " Modified en New Values " ) 8 controleer of de tafel heeft verandert en als het vervolgens samenvoegen wijzigingen terug naar de eerste " DataSet " en print de resultaten : Als dataSet.HasChanges ( DataRowState.Modified of DataRowState.Added ) _ En dataSet.HasErrors dan changeDataSet = ( DataRowState.Modified _ Of DataRowState.Added ) PrintValues ( changeDataSet , " subset waarden " ) < br dataSet.GetChanges Dim changeTable > Zoals DataTable voor Elke changeTable In changeDataSet.Tables Als changeTable.HasErrors dan Dim changeRow als DataRow voor Elke changeRow In changeTable.Rows Als CInt ( changeRow ( " Item" , _ DataRowVersion.Current ) ) > 100 dan changeRow.RejectChanges ( ) op Twitter changeRow.ClearErrors ( ) End Als Volgende changeRow Einde Als Volgende changeTable PrintValues ( changeDataSet , " verzoend deelverzameling waarden " ) dataSet.Merge ( changeDataSet ) PrintValues ( dataset , " samengevoegde waarden" ) Console.ReadLine ( ) op end If end Sub 9 In de volgende sub procedure om " DataSet " waarden om het venster Console afdrukken : Private Sub PrintValues ( ByVal dataset Dataset , ByVal label als Koord ) Console.WriteLine ( ControlChars.Cr & label ) Dim tafel als DataTable Elke tafel In dataSet.Tables Console.WriteLine ( " TableName : " & table.TableName ) Dim rij als DataRow Elke rij In table.Rows Dim kolom Zoals DataColumn Voor elke kolom in table.Columns Console.Write ( ControlChars.Tab & " _ & rij ( kolom ) . ToString ( ) " ) op Volgende column Console.WriteLine ( ) op Volgende rij Volgende tabel End Sub Druk op "F5 " 10 om het programma uit te voeren .
|