Come utilizzare due set di dati in VB

May 27

Come utilizzare due set di dati in VB


Utilizzando due set di dati in Visual Basic è uno dei modi migliori per mantenere i dati sincronizzati quando un utente apporta modifiche ai dati originali. A "DataSet" è una cache in memoria dei dati recuperati da un'origine dati, ad esempio un tavolo. I programmatori comunemente caricare i dati da una tabella di database a un "dataset" e permettono all'utente di apportare modifiche ai dati originali. Un secondo "DataSet" è utilizzato per acquisire le modifiche e uniti di nuovo per l'originale "DataSet" utilizzando il metodo "DataSet.Merge".

istruzione

1 Avviare Microsoft Visual Studio, fare clic su "New Project" dal riquadro sinistro dello schermo del computer, ed espandere "Visual Basic" sotto "Modelli installati." Fai clic su "Windows" e fare doppio clic su "Applicazione Console" dal centro della finestra di dialogo per creare un nuovo progetto di console.

2 Copiare e incollare il seguente codice per creare il primo "DataSet", un tavolo, due colonne e tre righe:

Dim dataSet As New DataSet("dataSet")

Dim tavolo come nuovo DataTable ( "Oggetti")

Dim idColumn come nuovo DataColumn ( "id", Type.GetType ( "System.Int32"))

idColumn.AutoIncrement = True

Dim itemColumn come nuovo DataColumn ( "Item", Type.GetType ( "System.Int32"))

fila fioco come DataRow

3 Aggiungere la seguente riga di codice per creare il secondo "DataSet:"

Dim changeDataSet As DataSet

4 Aggiungere coulumns al tavolo e aggiungere la tabella al "DataSet:"

table.Columns.Add(idColumn)

table.Columns.Add (itemColumn)

dataSet.Tables.Add (tabella)

5 Aggiungere dieci righe di dati alla tabella e accettare le modifiche:

Dim i As Integer

Per i = 0 a 9

row = table.NewRow ()

riga ( "Item") = I

table.Rows.Add (riga)

Next i

dataSet.AcceptChanges ()

6 Stampa valori "dataset" nella finestra della console:

PrintValues(dataSet, "Original values")

7 Modificare la tabella aggiungendo nuovi valori per le prime due righe, aggiungendo una nuova riga, e l'aggiunta di un errore ad una delle righe:

table.Rows(0)("Item") = 50

table.Rows (1) ( "Item") = 111

row = table.NewRow ()

riga ( "Item") = 74

table.Rows.Add (riga)

table.Rows (1) .RowError = "oltre 100"

PrintValues ​​(DataSet "Modified e nuovi valori")

8 Controllare se la tabella contiene modifiche e se lo fa poi unire i cambiamenti di nuovo al primo "DataSet" e stampare i risultati:

If dataSet.HasChanges(DataRowState.Modified Or DataRowState.Added) _

E dataSet.HasErrors Poi

changeDataSet = dataSet.GetChanges (DataRowState.Modified _

O DataRowState.Added)

PrintValues ​​(changeDataSet, "valori sottoinsieme")

Dim CHANGETABLE Come DataTable

Per ogni CHANGETABLE In changeDataSet.Tables

Se changeTable.HasErrors Poi

Dim changeRow Come DataRow

Per ogni changeRow In changeTable.Rows

Se CInt (changeRow ( "Item", _

DataRowVersion.Current))> 100 Quindi

changeRow.RejectChanges ()

changeRow.ClearErrors ()

Finisci se

Successivo changeRow

Finisci se

Successivo CHANGETABLE

PrintValues ​​(changeDataSet, "valori sottoinsieme riconciliata")

DataSet.Merge (changeDataSet)

PrintValues ​​(set di dati, "Valori uniti")

Console.ReadLine ()

Finisci se

End Sub

9 Aggiungere la seguente procedura secondaria per stampare valori "dataset" nella finestra della console:

Private Sub PrintValues(ByVal dataSet As DataSet, ByVal label As String)

Console.WriteLine (ControlChars.Cr & etichetta)

tavolo fioco come DataTable

Per ogni tabella dataSet.Tables

Console.WriteLine ( "TableName:" & table.TableName)

fila fioco come DataRow

Per ogni riga table.Rows

colonna fioco come DataColumn

Per ogni colonna table.Columns

Console.Write (ControlChars.Tab & "" _

& Row (colonna) .ToString ())

colonna successiva

Console.WriteLine ()

riga successiva

tavolo accanto

End Sub

10 Premere il tasto "F5" per eseguire il programma.