L'utilisation de deux ensembles de données dans Visual Basic est l'une des meilleures façons de garder les données synchronisées lorsque l'utilisateur modifie les données d'origine. Un " fichier" est un cache en mémoire des données récupérées à partir d'une source de données , telle qu'une table . Les programmeurs se chargent généralement des données d'une table de base de données à un " DataSet " et permettent à l'utilisateur d' apporter des modifications aux données originales. Un deuxième " DataSet " est utilisé pour capturer les changements et fusionnées à la " DataSet " original en utilisant la méthode " DataSet.Merge " . Choses que vous devez Microsoft Visual Studio Voir Plus Instructions 1 Lancement de Microsoft Visual Studio, cliquez sur " Nouveau Projet" dans le volet gauche de l'écran de votre ordinateur, et étendre " Modèles installés . " " Visual Basic " ci-dessous Cliquez sur "Windows " et double -cliquez sur " Application console " à partir du centre de la fenêtre de dialogue pour créer un nouveau projet de console. 2 Copiez et collez le code suivant pour créer le premier " DataSet " une table, deux colonnes et trois lignes: dataSet As New DataSet ( " fichier" ) de table As New DataTable ( "items" ) Dim idColumn As New DataColumn ( "id", Type.GetType ( " System.Int32 ")) idColumn.AutoIncrement = True Dim ArticleColonne As New DataColumn ( " Item" , Type.GetType ( " System.Int32 ")) de ligne As DataRow 3 Ajoutez la ligne de code suivante pour créer le deuxième " DataSet :« changeDataSet As DataSet 4 Ajouter coulumns à table et ajouter la table à l' 5 Ajouter dix lignes de données à la table et d'accepter les changements: Dim i As Integer For i = 0 To 9 ligne = table.NewRow ( ) à la ligne de de propriété ( " Item" ) = i table.Rows.Add (ligne) Ensuite, je DataSet.AcceptChanges () 6 imprimer les valeurs " DataSet " à la fenêtre de la console : Trouvez PrintValues (DataSet , "valeurs d'origine " ) 7 Modifier la table en ajoutant de nouvelles valeurs pour les deux premières lignes , l'ajout d'une nouvelle ligne, et à ajouter une erreur de l'une des rangées : table.Rows (0) ( " Point " ) = 50 table.Rows (1) ( " Item" ) = 111 de ligne de = table.NewRow () de la ligne de de propriété ( " Item" ) = 74 de table.Rows . Ajouter (ligne) table.Rows (1). RowError = " plus de 100 " PrintValues (DataSet , " jour et de nouvelles valeurs ») 8 Vérifiez si la table a des changements et si elle ne puis fusionner les modifications dans la première " DataSet " et imprimer les résultats : Si dataSet.HasChanges ( DataRowState.Modified Ou DataRowState.Added ) _ Et dataSet.HasErrors Puis changeDataSet = dataSet.GetChanges ( DataRowState.Modified _ Ou DataRowState.Added ) PrintValues ( changeDataSet , «valeurs de sous-ensembles " ) < br > CHANGETABLE As DataTable Chaque CHANGETABLE En changeDataSet.Tables Si changeTable.HasErrors Puis changeRow As DataRow For Each changeRow En changeTable.Rows Si CInt ( changeRow ( " Item" , _ DataRowVersion.Current ) ) > 100 Ensuite changeRow.RejectChanges ( ) changeRow.ClearErrors () End If Suivant changeRow End If Suivant CHANGETABLE PrintValues ( changeDataSet , " réconcilié valeurs de sous-ensembles " ) DataSet.Merge ( changeDataSet ) PrintValues (DataSet , "Valeurs fusionnés ») Console.ReadLine () End If End Sub 9 ajouter le sous procédure suivante pour imprimer les valeurs " DataSet " à la fenêtre de la console: Photos PrintValues Private Sub (DataSet ByVal comme DataSet , l'étiquette ByVal As String ) Console.WriteLine ( ControlChars.Cr & étiquette) tableau As DataTable pour chaque table de dataSet.Tables Console.WriteLine (" TableName :" & table.TableName ) ligne As DataRow pour chaque ligne de table.Rows colonne Dim Comme DataColumn pour chaque colonne table.Columns Console.Write ( ControlChars.Tab & "" _ Photos & ligne (colonne ) . ToString () ) Suivant colonne Console.WriteLine ( ) Suivant rangée Suivant table Banque End Sub 10 Appuyez sur " F5" pour exécuter le programme .
|