VB.NET - Preenchendo Controles  com acesso ao MSDE


 

Este artigo é na verdade uma repetição de artigos anteriores onde já tratei dos controles vinculados no VB.NET.

 

O destaque fica por conta do acesso ao banco de dados MSDE e da tabela Northwind que foi importada do Access.

 

Como importar um banco de dados do Access para o MSDE ? 

 

Dica da mother of invention - Microsoft :

A forma mais fácil de converter um banco de dados do Access em SQL Server é usando o Assistente de Upsizing. O Assistente de Upsizing:

Preserva a estrutura do banco de dados, inclusive dados, índices e configurações padrão.
Converta automaticamente as regras de validação do Access e as configurações padrão nos equivalentes apropriados do SQL Server.
Mantém os relacionamentos da tabela e a integridade referencial após o redimensionamento.

 

Para executar o Assistente de Upsizing no Access 2000, no menu Ferramentas, aponte para Utilitários de Banco de Dados e clique emAssistente de Upsizing.

Para este artigo eu abri o banco de dados Northwind.mdb no Access 2000 e usei o Assistente de Upsizing. Funcionou sem problema algum.

 

O resultado final pode ser visto usando a ferramenta SQL Buddy no MSDE conforme figura abaixo:

 

Nota:

O SQL Buddy é uma ferramenta grátis que fornece uma interface gráfica para administrar o MSDE.

Você pode baixar o SQL Buddy no link : http://sqlbuddy.sourceforge.net/

 

Banco de dados Northwind no MSDE apos sua importação do Access usando o Assistente de Upsizing do Access.

 

Nota:

Para usar o Assistente de Upsizing no Access 97, você deve primeiro fazer o download das Ferramentas de Upsizing do Microsoft Access 97 a partir do seguinte site da Microsoft na Web:
http://www.microsoft.com/accessdev/prodinfo/aut97dat.htm (site em inglês)
Para executar o Assistente de Upsizing do Access 97, no menu Ferramentas, aponte para Suplementos e clique em Upsize para SQL Server.

 

Estando com o MSDE instalado e com o banco de dados northwind.mdb do Access importado para o MSDE conforme acima podemos prosseguir...

 

Criando o projeto no VS.NET 2003

 

Crie um novo projeto no VS.NET do tipo Windows Application usando a linguagem VB.NET.

 

No formulário padrão form1.vb inclua os seguintes componentes :

 

Agora vamos fazer o imports para o namespace System.Data.SqlClient

Imports System.Data.sqlclient

E declarar as variáveis usadas no projeto:

 

Dim conexaoMSDE As SqlConnection

Dim da As SqlDataAdapter

Dim ds As DataSet = New DataSet

Dim strSQL As String

Dim conn As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;User ID=sa;password=;Data Source=MACORATI\VSDOTNET"

 

 

Note que a string de conexão usada é para acessar o MSDE (altere para o seu caso), onde :

 

Initial Catalog=Northwind   - define o banco de dados que será acessado.

User ID=sa;password=       - definem o usuário e senha do banco de dados northwind que foi importado.

Data Source=MACORATI\VSDOTNET   - define o MSDE instalado (altere o nome para o seu MSDE)

 

Agora no evento Click de cada botão de comando vamos incluir o código para preencher o controle:

 

1- ListBox - Acesso a tabela Products exibindo o nome dos Produtos (ProductName)

 

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


strSQL = "Select * from Products"

conexaoMSDE = New SqlConnection(conn)


Try

  ' abre a conexão com o NSDE

   conexaoMSDE.Open()

   da = New SqlDataAdapter(strSQL, conexaoMSDE)

   da.Fill(ds, "Categories")

   ListBox1.DataSource = ds.Tables(0)

   ListBox1.DisplayMember = "ProductName"

Catch e As SqlException

   MessageBox.Show(e.Message)

Finally

   conexaoMSDE.Close()

End Try

End Sub

 

2- ComboBox - Acesso a tabela Employees , exibindo o primeiro nome (FirstName)

 

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

 

strSQL = "Select * from Employees"

conexaoMSDE = New SqlConnection(conn)


Try

   ' abre a conexao com o MSDE

   conexaoMSDE.Open()

   da = New SqlDataAdapter(strSQL, conexaoMSDE)

   da.Fill(ds, "Employees")

   Dim DataViewManager1 As DataViewManager = ds.DefaultViewManager

   ComboBox1.DataSource = DataViewManager1

   ComboBox1.DisplayMember = "Employees.FirstName"

Catch e As SqlException

   MessageBox.Show(e.Message)

Finally

   conexaoMSDE.Close()

End Try

End Sub

 

3- DataGrid - acesso a tabela Customers

 

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click


strSQL = "Select * from customers"

conexaoMSDE = New SqlConnection(conn)


Try

  ' abre a conexao

  conexaoMSDE.Open()

  'cria o dataadapter

  da = New SqlDataAdapter(strSQL, conexaoMSDE)

  'preenche o dataset

  da.Fill(ds, "customers")

  'exibe os dados no grid

  DataGrid1.DataSource = ds.Tables(0)

Catch e As SqlException

  MessageBox.Show(e.Message)

Finally

  conexaoMSDE.Close()

End Try

End Sub

 

Observe que a conexão sempre vai ser fechada pois estou usando o tratamento de erros try/catch/finally.

 

Nota: Para saber mais sobre o tratamento de exceções no VB.NET leia os artigos :

Ao executar o projeto , clicando em cada um dos botões para preencher os componentes teremos:

 

 

Pegue o projeto completo aqui :   msdeControles.zip

 

Aguarde mais artigos sobre VB.NET ...


José Carlos Macoratti