Private tabelaVazia As DataTable
Private tabelaClientes As DataTable
Private tabelaProdutos As DataTable
Private Sub TesteCreateDataReader(ByVal dataSet As DataSet)
' Recebe um DataSet, retorna um DataTableReader
' permitindo acesso a todos os dados do DataSet.
Using reader As DataTableReader =
dataSet.CreateDataReader(tabelaProdutos, tabelaVazia, tabelaClientes)
'percorre todos os conjunto de dados do DatatableReader
Do
If Not reader.HasRows Then
MsgBox("DataTableReader vazio")
Else
exibirColunas(reader)
End If
Loop While reader.NextResult()
End Using
End Sub
Private Function obtemClientes() As DataTable
' Cria um tablea exemplo de clientes
' para demonstrar o comportamenteo do DataTableReader.
Dim Tabela As New DataTable
' Cria duas colunas: ID e Name.
Dim idColumn As DataColumn = Tabela.Columns.Add("ID", GetType(Integer))
Tabela.Columns.Add("Name", GetType(String))
' Define a coluna ID como a coluna da chave primária
Tabela.PrimaryKey = New DataColumn() {idColumn}
Tabela.Rows.Add(New Object() {1, "Macoratti"})
Tabela.Rows.Add(New Object() {2, "Miriam"})
Tabela.Rows.Add(New Object() {3, "Jessica"})
Tabela.Rows.Add(New Object() {4, "Jefferson"})
Return Tabela
End Function
Private Function obtemProdutos() As DataTable
' Cria uma tabela exemplo chamada Produtos
Dim Tabela As New DataTable
' Cria duas colunas: ID e Name.
Dim idColumn As DataColumn = Tabela.Columns.Add("ID", GetType(Integer))
Tabela.Columns.Add("Name", GetType(String))
' Define a coluna ID como a coluna da chave primária
Tabela.PrimaryKey = New DataColumn() {idColumn}
Tabela.Rows.Add(New Object() {10, "Super CD Visual Basic"})
Tabela.Rows.Add(New Object() {20, "Super CD .NET"})
Tabela.Rows.Add(New Object() {30, "Super CD ASP total"})
Tabela.Rows.Add(New Object() {40, "Sistema Finanças"})
Return Tabela
End Function
Private Sub exibirColunas(ByVal reader As DataTableReader)
' Percorre todas as linhas dos conjuntos de dados do DataTableReader e exibe no Listbox
Do While reader.Read()
For i As Integer = 0 To reader.FieldCount - 1
ListBox1.Items.Add(reader(i).ToString())
Next
Loop
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'cria um dataset
Dim dataSet As New DataSet
' Inclui algumas tabelas no DataSet, incluindo um DataTable vazio
tabelaVazia = New DataTable()
tabelaProdutos = obtemProdutos()
tabelaClientes = obtemClientes()
dataSet.Tables.Add(tabelaClientes)
dataSet.Tables.Add(tabelaVazia)
dataSet.Tables.Add(tabelaProdutos)
TesteCreateDataReader(dataSet)
End Sub
|