Como prometido no artigo - ADO.NET - O acesso aos dados - vamos agora mostrar em detalhes como acessar os dados de um banco de dados usando o VB.NET.
Eu finalmente consegui resolver o problema da instalação da minha versão Beta 2 do Visual Studio .NET e com isso me sinto mais a vontade para falar sobre este assunto , já que houve alterações significativos da versão beta 1 para beta 2 neste quesito.
Bem o nosso cenário é o seguinte:
Estrutura da tabela Clientes do Banco de dados Agenda.mdb localizado na pasta c:\contatos. |
Ora , então vamos a luta...
Os requisitos e o ambiente de desenvolvimento
Para realizar esta tarefa você vai precisar possuir o Visual Studio .NET versão Beta 2 instalada e funcionando no seu computador. ( A beta 2 não funciona no Windows 95/98 ).
Inicie o Visual Studio .NET beta 2 em :
Iniciar | Todos os Programas | Microsoft Visual Studio.NET 7.0 | Microsoft Visual Studio.NET 7.0
A tela inicial que você verá é a seguinte:
Na tela inicial você tem uma interface integrada a Web ; veja as opções : What´s New , Online Community , Headlines, Serach Online , Downloads , Web Hosting que permitem o acesso a documentação On-Line no próprio ambiente de desenvolvimento.
Como vamos iniciar um novo projeto vamos selecionar a opção New Project
Aqui selecionamos o Tipo e o Modelo de Projeto que iremos criar , o Local onde iremos armazenar os arquivos do projeto e o Nome que iremos dar ao nosso projeto. Como você pode ver nossas escolhas foram:
Clique no botão OK , e iremos ver a seguinte tela:
Para detalhes sobre o ambiente veja o artigo - VB.NET - Criando aplicações Windows - mas podemos ver na tela no lado esquerdo a ToolBox , no centro o formulário padrão , a esquerda as janelas de Propriedades e Class View.
Já vimos que a propriedade Text agora corresponde a propriedade Caption e que não existe mais o controle CommandButton : agora é só Button.
Vamos alterar a propriedade Text do formulário para Contatos e alterar também o nome do arquivo form1.vb para Contatos.vb .(Para fazer esta alteração clique com o botão direito do mouse sobre o nome do arquivo form1.vb e selecione a opção - Rename ). Assim temos:
Alterando as propriedades Text e Name do formulário | Alterando o nome do arquivo form1.vb |
Obs: No VB.NET tudo são classes , assim os formulários são classes que expôe uma interface gráfica. Percebeu que ao alterar o nome do formulário ( classe ) o nome do arquivo ( form1.vb ) não foi alterado .
Vamos dar uma espiada no código do formulário . Clique na opção - View Code - do Solution Explorer ou clique com o botão direito do mouse sobre o formulário e selecione a opção - View Code:
O código exibido após selecionar a opção - View Code. |
Veja que a nossa classe - Contatos - possui o código localizado no item - Windows Form Designer generated Code - Se quiser ver o código basta expandir o item clicando no sinal de ( + ).
Resumo das tarefas realizadas :
Até agora não fizemos nada de excepcional :
Nesta altura o seu projeto deve estar conforme a tela a seguir:
Se você quiser executar o projeto para ver o que acontece basta pressionar a tecla F5 ou clicar no botão do menu. Você verá apenas o formulário vazio exibido na tela.
Criando a conexão e o acesso aos dados : DataSet
Agora a coisa vai ficar mais interessante vamos criar os objetos que permitirão o acesso aos dados da tabela Clientes do banco de dados Agenda.mdb.
Vamos usar a ADO.NET para fornecer o acesso aos dados ( leia o artigo : ADO.NET - O acesso aos dados ) através do DataSet. O DataSet proporciona o acesso a tabelas , linhas , colunas , relacionamentos , constraints e pode conter diversas tabelas e relacionamentos.
1- Criando o DataSet
Vamos agora criar o DataSet para manipular os dados da tabela Clientes . Para isto vamos criar e configurar um Data Adapter usando um assistente que nos ajudará no processo.
Nota: DataAdapter - Fornece dados ao DataSet e propaga as alterações do DataSet para a fonte de dados. O serviço do DataAdpater é adpatar os dados dos objetos Command e incluí-los no DataSet e levar os dados do DataSet a fonte de dados usando objetos Command.
Prepare-se :
|
|
A guia Data e o objeto OLedbDataAdapter | A tela inicial do assistente para configurar o Data Adapter |
Vamos alterar algumas das propriedades dos objetos OleDbDataAdapter1 e OleDbConnection1. Vamos por partes :
Objeto OleDbDataAdapter1
- Selecione o objeto OleDbDataAdapter1 , clique com o botão direito do mouse e escolha - Properties.
A janela de propriedades para OleDbDataAdapter1 | Alterando o nome das propriedades que armazenam as instruções SQL |
Vamos alterar a propriedade Name para daClientes ; vamos alterar também as propriedades que contém as instruções SQL : SelectCommand , DeleteCommand , InsertCommand , UpdateCommand.
Para fazer isto expanda a propriedade clicando no simbolo (+) e em Name altere o nome conforme exibido na figura acima para a propriedade SelectCommand onde alteramos Name para SelecionaClientes.
Repita o processo para as demais propriedades conforme a tabela a seguir:
Propriedade | Valor Padrão | Alterar para |
DeleteCommand | OleDbDeleteCommand1 | ExcluirClientes |
InsertCommand | OleDbInsertCommand1 | InserirClientes |
UpdateCommand | OleDbUpdateCommand1 | AtualizarClientes |
Objeto OleDbConnection1
- Selecione o objeto OleDbConnection1 , clique com o botão direito do mouse e escolha - Properties.
Vamos alterar a propriedade
Name para cnAgenda
Obs: Veja as propriedades DataSource , Provider e ConnectionString |
Gerando o DataSet
Agora estamos pronto para gerar o DataSet , para isto selecione o objeto daClientes(OleDbDataAdapter) e clique com o botão direito do mouse . A seguir escolha a opção : Generete DataSet...
|
|
Escolhendo a opção para gera o DataSet | A janela para gerar o DataSet |
Na próxima janela escolha a opção New e informe o nome DsClientes e as opções conforme acima e clique em OK.
Teremos o objeto DsClientes exibido no painel abaixo do formulário , conforme figura ao lado |
Colocando os controles no formulário
Agora vamos para uma tarefa que você ja esta acostumado. Vamos inserir os controles TextBox , Label , Button no formulário para exibir os dados da tabela clientes e para permitir a ação do usuário para gerenciar os dados. Crie a interface conforme o layout exibido abaixo:
-Alteramos as propriedades Text de cada controle para o nome indicado no controle -Lembre-se que a propriedade Caption não existe mais -Lembre-se que Button equivale ao antigo commandButton |
Fazendo a vinculação dos controles com os dados
Agora preste atenção !!! vamos fazer a vinculação de cada controle TextBox com o respectivo campo da tabela que ele exibirá. Para isto vamos alterar a propriedade Text , expandindo a propriedade DataBindings de cada controle:
Expanda DataBindings , clicando em + , a seguir expanda DsClientes , depois expanda Clientes e selecione nome do campo que deseja exibir no controle. Repita isto para cada controle TextBox.
Escrevendo o código
Agora vamos escrever o código para o nosso projeto. A lógica será a seguinte:
- O DataSet deve receber os dados a exibir e alimentará os controles textBox com a informação referente a cada campo vinculado. Para exibir os dados na carga do formulário e na navegação pelos registros vamos usar uma função para fazer este serviço : a função Carrega_DataSet cujo código é o seguinte:
Public
Sub Carrega_Dataset(ByVal
dataset As
contatos.DsClientes)
Me.cnAgenda.Open() dataset.EnforceConstraints = FalseTry 'dispara o método Fill do objeto DataAdapter Me.daClientes.Fill(dataset) Catch cException As system.Exception Throw cException Finally dataset.EnforceConstraints = TrueMe.cnAgenda.Close() End Try End Sub |
Aqui temos o objeto Data Adapter - daClientes - usando o método Fill que esta vinculado a instrução SQL - Select * from Clientes.
Esta estranhando a instrução : Try...Catch ... Finally ... Throw
Dentro do bloco Try colocamos o código que pode apresentar erros . Se ocorrer um erro durante o processamento cada declaração Catch vai ser percorrida em busca do tratamento para o erro em questão. O bloco Finally sempre será executado depois do processamento do bloco Try . A declaração Throw pode ser usada para gerar um erro.
Agora basta chamar a função Carrega_Dataset no evento Load do formulário para carregar os dados na carga do mesmo. O código para isto é o seguinte:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load'vamos usar a rotina carrega_dataset para preencher 'o objeto dataset com os registros retornados pela 'instrução SQLCarrega_Dataset(DsClientes) Exibe_Posicao() End Sub |
Perceba que temos outra função - Exibe_Posição - que verifica se existe dados a serem exibidos e que informa a posição relativa do registro frente ao total de registros da tabela. O seu código é o seguinte:
Public
Sub Exibe_Posicao()
Dim icontador As Integer Dim iposicao As Integericontador = Me.BindingContext(DsClientes, "Clientes").CountIf icontador = 0 Then txtpainel.Text = "Não existem dados !!" Else iposicao = Me.BindingContext(DsClientes, "Clientes").Position + 1txtpainel.Text = " Reg " & iposicao.ToString & " de " & icontador.ToString End If End Sub |
Ao executar o projeto , finalmente veremos os dados exibidos conforme a figura abaixo:
Após terminar , você pode executar o projeto que os dados serão exibidos no formulário conforme figura ao lado. |
Com isto terminamos a primeira parte deste artigo , onde mostramos como acessar e exibir os dados de uma base de dados no VB.NET . A continuação deste artigo será como dar manutenção nos dados , ou seja , realizar alterações , exclusões e atualizações em uma base de dados.
A versão mais atual para desenvolver aplicações VB .NET é o Visual Studio 2010 ou o Visual Basic 2010 Express Edition e muita coisa evoluiu desde então.
Acompanhe os artigos mais atuais na seção: Seção VB .NET do Site Macoratti.net
Até lá , ...
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#