Usando dois conjuntos de dados em Visual Basic é uma das melhores maneiras de manter os dados sincronizados quando um usuário faz alterações para os dados originais. A " DataSet " é um cache de memória dos dados recuperados de uma fonte de dados, como uma tabela. Programadores geralmente carregar dados de uma tabela do banco de dados a um " DataSet " e permitir que o usuário faça alterações para os dados originais. Um segundo " DataSet " é usada para capturar as alterações e mescladas de volta para o original " DataSet ", usando o método de " DataSet.Merge " . Coisas que você precisa
Microsoft Visual Studio
Show Mais instruções
1
Abra o Microsoft Visual Studio , clique em " New Project" no painel esquerdo da tela do computador , e expandir " Visual Basic" abaixo " modelos instalados ". Clique em " Windows" e clique duas vezes em " Console Application " a partir do centro da janela de diálogo para criar um novo projeto de console.
2
Copie e cole o seguinte código para criar o primeiro " DataSet " uma mesa, duas colunas e três linhas :
Dim dataSet As New DataSet ( "dataset " )
mesa Dim As New DataTable ( "Itens" )
Dim idColumn As New DataColumn ( "id" , Type.GetType ( " System.Int32 "))
idColumn.AutoIncrement = True
Dim itemColumn As New DataColumn ( "Item " , Type.GetType ( " System.Int32 "))
linha Dim DataRow
3
Adicione a seguinte linha de código para criar o segundo " DataSet: "
Dim changeDataSet Como DataSet
4
Adicionar coulumns a tabela e adicionar a tabela à
5
Adicione dez linhas de dados para a tabela e aceitar as alterações :
Dim i As Integer
Para i = 0 To 9
linha
= table.NewRow ()
linha ( "Item ") = i
table.Rows.Add (linha)
Next i
DataSet.AcceptChanges
()
6
Imprimir valores " DataSet " na janela do console :
PrintValues ( dataset, " valores originais ")
7
Modifique a tabela adicionando novos valores para as duas primeiras linhas , adicionando uma nova linha, e adicionando um erro para uma das linhas :
table.Rows (0) ( "Item ") = 50
table.Rows (1) ( "Item ") = 111
linha = table.NewRow ()
linha ( "Item ") = 74
table.Rows . Adicionar (linha)
table.Rows (1). RowError = " mais de 100"
PrintValues ( dataset, " Modificado e novos valores ")
8
Verifique se a tabela tem mudanças e se isso acontecer, então mesclar as alterações de volta para o primeiro " DataSet " e imprimir os resultados :
Se dataSet.HasChanges ( DataRowState.Modified Ou DataRowState.Added ) _
E dataSet.HasErrors Então
changeDataSet = dataSet.GetChanges ( DataRowState.Modified _
Ou DataRowState.Added )
PrintValues ( changeDataSet , "valores de subconjunto " ) < br >
Dim CHANGETABLE Como
DataTable
Para Cada CHANGETABLE Em changeDataSet.Tables
Se changeTable.HasErrors Então
Dim changeRow Como DataRow
Para Cada changeRow Em changeTable.Rows
Se CInt ( changeRow ( "Item ", _
DataRowVersion.Current ) ) > 100 Então
changeRow.RejectChanges ()
changeRow.ClearErrors ()
End If
Próxima changeRow
End If
Próxima CHANGETABLE
PrintValues ( changeDataSet , "Os valores subconjunto Reconciliados " )
DataSet.Merge ( changeDataSet )
PrintValues ( dataset, "Valores Incorporadas ")
Console.ReadLine ()
End If End Sub
9
Adicione o seguinte sub procedimento para imprimir valores " DataSet " na janela do console :
PrintValues Private Sub ( ByVal conjunto de dados como DataSet , etiqueta ByVal As String)
Console.WriteLine ( ControlChars.Cr & label)
mesa Dim
DataTable
para cada tabela no dataSet.Tables
Console.WriteLine (" TableName :" & table.TableName )
linha Dim DataRow
para cada linha na table.Rows
Dim coluna Como DataColumn
para cada coluna no table.Columns
Console.Write ( ControlChars.Tab & "" _
& linha ( coluna). ToString ())
Próxima coluna
Console.WriteLine ( )
Próxima linha
Próxima mesa
Sub End
10
Pressione " F5" para executar o programa .