JcmSoft - VB.NET  Alimentando um Dataset com dados de múltiplas tabelas

A microsoft introduziu ADO.NET junto com o .NET Framework ; ao instalar o .NET Framework temos acesso a dois provedores : SQL .NET Data Provider e OLEDB .NET Data Provider . O acesso a dados desconectado , suporte a XML , um maior controle sobre o gerenciamento dos dados ( inclusões , atualizações , exclusões) já é um bom motivo para você pensar seriamente em usar esta tecnologia para acesso aos dados.

Com ADO.NET temos um modelo com o qual podemos construir tanto aplicações para Windows como aplicações para Web. Neste modelo temos as classes que permitem um trabalho eficiente : você pode escolher entre acessar diretamente a fonte de dados ou o acesso desconectado.

Quando você cria um projeto mp Visual Studio .NET uma referência ao manespace System.Data é criada automaticamente dando-lhe um suporte básico de acesso a fonte de dados.(veja figura ao lado). As etapas básicas para acessar uma fonte de dados via ADO.NET  são:

  1. acessar o objeto DataSet.

  2. Escolher um provedor de dados (Data Provider) - Atualmente temos os seguintes provedores:

    1. SQL .NET

    2. OLEDB.NET

    3. ODBC.NET (instalado a parte)

    4. ORACLE .NET(instalado a parte)

  3. Incluir a declaração Imports  no seu código

Vou mostrar como acessar uma base de dados Access e carregar um DataSet com dados de duas tabelas. Como exemplo vou acessar o banco de dados Biblio.mdb e exibir os dados das tabelas Authors e Titles em dois controles DataGrid presentes no formulário padrão form1.vb. Vamos agora ao projeto.

1 - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)

  1. Project Types : Visual Basic Projects
  2. Templates : Windows Application
  3. Name : MultiplasTabeças
  4. Location : c:\vbnet\MultiplasTabelas

2- No formulário padrão insira dois componentes DataGrid - DataGrid1 e DataGrid2  e dois botões de comando - Button1 e Button2  conforme layout abaixo:

3- No formulário padrão vamos primeiro fazer a referência ao namespace System.Data.OLEDB e a seguir definir as variáveis :

4- A seguir basta definir o código associado ao evento Click dos botoes - Button1  e Button2 :

a - Código associado ao Button1 - Exibe os dados da tabela Authors.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 DataGrid1.CaptionText = "Autores"

 da1.Fill(ds, "Autores")

 

 DataGrid1.DataSource = ds

 DataGrid1.DataMember = "Autores"

End Sub

b- Código associado ao Button2 - Exibe os dados da tabela Titles.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

 DataGrid2.CaptionText = "Titulos"

 da2.Fill(ds, "Titulos")

 

 DataGrid2.DataSource = ds

 DataGrid2.DataMember = "Titulos"

End Sub

5- Agora basta executar o projeto e clicar nos botões para carregar o datagrid correspondente , conforme abaixo:

Com poucas linhas de código criamos o acesso a duas tabelas do banco de dados Biblio.mdb usando DataSet via DataAdapter.

Até o próximo artigo VB.NET...


José Carlos Macoratti