El uso de dos conjuntos de datos en Visual Basic es una de las mejores maneras de mantener los datos sincronizados cuando un usuario realiza cambios en los datos originales. Un "conjunto de datos" es una caché en memoria de los datos recuperados de una fuente de datos, como una mesa. Los programadores suelen cargarse datos de una tabla de base de datos a un "conjunto de datos" y permiten al usuario realizar cambios en los datos originales. Un segundo "conjunto de datos" se utiliza para capturar los cambios y fusiona de nuevo a la original "conjunto de datos" utilizando el método de "DataSet.Merge".
Instrucciones
1 Lanzamiento de Microsoft Visual Studio, haga clic en "Nuevo proyecto" en el panel izquierdo de la pantalla del ordenador, y ampliar "Visual Basic" por debajo "Plantillas instaladas." Haga clic en "Windows" y haga doble clic en "Aplicación de consola" desde el centro de la ventana de diálogo para crear un nuevo proyecto de la consola.
2 Copia y pega el código siguiente para crear el primer "conjunto de datos", una mesa, dos columnas y tres filas:
Dim dataSet As New DataSet("dataSet")
Dim tabla como nuevo DataTable ( "Artículos")
Dim idColumn Como Nueva DataColumn ( "id", Type.GetType ( "System.Int32"))
idColumn.AutoIncrement = True
Dim itemColumn Como Nueva DataColumn ( "Punto", Type.GetType ( "System.Int32"))
Dim fila Como DataRow
3 Agregue la siguiente línea de código para crear el segundo "conjunto de datos"
Dim changeDataSet As DataSet
4 Añadir coulumns a la mesa y agregue la tabla al "conjunto de datos"
table.Columns.Add(idColumn)
table.Columns.Add (itemColumn)
dataSet.Tables.Add (tabla)
5 Añadir diez filas de datos a la tabla y aceptar los cambios:
Dim i As Integer
Para i = 0 a 9
fila = table.NewRow ()
fila ( "elemento") = i
table.Rows.Add (fila)
Siguiente yo
dataSet.AcceptChanges ()
6 Imprimir valores "DataSet" a la ventana de la consola:
PrintValues(dataSet, "Original values")
7 Modificar la tabla mediante la adición de nuevos valores para las dos primeras filas, añadiendo una nueva fila, y la adición de un error de una de las filas:
table.Rows(0)("Item") = 50
table.Rows (1) ( "artículo") = 111
fila = table.NewRow ()
fila ( "elemento") = 74
table.Rows.Add (fila)
table.Rows (1) .RowError = "más de 100"
PrintValues (conjunto de datos, "modificados y nuevos objetos de valor")
8 Compruebe si la tabla tiene cambios y si lo hace entonces fusionar los cambios de nuevo al primer "conjunto de datos" e imprimir los resultados:
If dataSet.HasChanges(DataRowState.Modified Or DataRowState.Added) _
Entonces y dataSet.HasErrors
changeDataSet = dataSet.GetChanges (DataRowState.Modified _
O DataRowState.Added)
PrintValues (changeDataSet, "valores" Subset)
Dim CHANGETABLE Como DataTable
Para cada CHANGETABLE En changeDataSet.Tables
Si changeTable.HasErrors Entonces
Dim changeRow Como DataRow
Para cada changeRow En changeTable.Rows
Si CInt (changeRow ( "Punto", _
DataRowVersion.Current))> 100 Entonces
changeRow.RejectChanges ()
changeRow.ClearErrors ()
Terminara si
Siguiente changeRow
Terminara si
Siguiente CHANGETABLE
PrintValues (changeDataSet, "valores de subconjuntos reconciliada")
DataSet.Merge (changeDataSet)
PrintValues (conjunto de datos, "Valores") combinadas
Console.ReadLine ()
Terminara si
End Sub
9 Agregue el siguiente procedimiento sub para imprimir valores "DataSet" a la ventana de la consola:
Private Sub PrintValues(ByVal dataSet As DataSet, ByVal label As String)
Console.WriteLine (ControlChars.Cr y etiqueta)
Como vaga mesa DataTable
Para cada tabla en dataSet.Tables
Console.WriteLine ( "TableName:" & table.TableName)
Dim fila Como DataRow
Para cada fila de table.Rows
Como la columna Dim DataColumn
Para cada columna table.Columns
Console.Write (ControlChars.Tab & "" _
Y fila (columna) .ToString ())
siguiente columna
Console.WriteLine ()
siguiente fila
A continuación la tabla
End Sub
10 Pulse la tecla "F5" para ejecutar el programa.