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 ) _
< p > 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
< p > 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 .