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 :
ListBox
ComboBox
DataGrid
3 Button
Agora vamos fazer o imports para o namespace System.Data.SqlClient
Imports
System.Data.sqlclientE declarar as variáveis usadas no projeto:
Dim conexaoMSDE As SqlConnectionDim 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
conexaoMSDE = New SqlConnection(conn)
' 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)
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
conexaoMSDE = New SqlConnection(conn)
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