Meu Primeiro Acesso a Dados com o VB.

NET

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: 1. Temos um banco de dados Access 97 com o nome de Agenda localizado na pasta c:\contatos 2. Este banco de dados possui a tabela Clientes que possui a seguinte estrutura :

Estrutura da tabela Clientes do Banco de dados Agenda.mdb localizado na pasta c:\contatos.

3. 4. 5. 6.

Nosso objetivo será acessar os dados da tabela Clientes Permitir a navegação pelos registros Permitir a alteração , inclusão e exclusão de registros. Utilizar o VB.NET para acessar os dados

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:

Online Community . Serach Online . Web Hosting que permitem o acesso a documentação On-Line no próprio ambiente de desenvolvimento. Como você pode ver nossas escolhas foram: y Tipo de Projeto : Visual Basic Projects . 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 . Downloads .o Local onde iremos armazenar os arquivos do projeto e o Nome que iremos dar ao nosso projeto.Na tela inicial você tem uma interface integrada a Web . veja as opções : What´s New . Headlines.

Já vimos que a propriedade Textagora corresponde a propriedade Caption e que não existe mais o controle CommandButton : agora é só Button. no centro o formulário padrão .mas podemos ver na tela no lado esquerdo a ToolBox .(Para fazer esta alteração clique com o botão direito do mouse sobre o nome do arquivo form1.y y y Modelo :Windows Application Nome :Contatos Localização :c:\contatos Clique no botão OK .vb para Contatos. Vamos alterar a propriedade Text do formulário para Contatos e alterar também o nome do arquivo form1. e iremos ver a seguinte tela: Para detalhes sobre o ambiente veja o artigo . Assim temos: .vb .Criando aplicações Windows . a esquerda as janelas de Propriedades e Class View.VB.NET .vb e selecione a opção Rename ).

Percebeu que ao alterar o nome do formulário ( classe ) o nome do arquivo ( form1. assim os formulários são classes que expôe uma interface gráfica.Windows Form Designer generated Code .Alterando as propriedades Text e Name do formulário Alterando o nome do arquivo form1.View Code. .vb ) não foi alterado . Clique na opção .vb Obs: No VB.View Code: O código exibido após selecionar a opção . Vamos dar uma espiada no código do formulário .Contatos .View Code . Veja que a nossa classe .NET tudo são classes .possui o código localizado no item .do Solution Explorer ou clique com o botão direito do mouse sobre o formulário e selecione a opção .Se quiser ver o código basta expandir o item clicando no sinal de ( + ).

4. 2.NET para fornecer o acesso aos dados ( leia o artigo : ADO. linhas . 1. Vamos usar a ADO.Fornece dados ao DataSet e propaga as alterações do DataSet para a fonte de dados.Criando o DataSet Vamos agora criar o DataSet para manipular os dados da tabela Clientes .NET . Você verá apenas o formulário vazio 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. O serviço do DataAdpater é adpatar os dados dos objetos . Windows Application Alteramos a propriedade Text do formulário padrão para Contatos Alteramos o nome do arquivo form1. relacionamentos . constraints e pode conter diversas tabelas e relacionamentos. Iniciamos o Visual Studio. do menu.vb para contatos.mdb.NET 7. 3.vb 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 exibido na tela.O acesso aos dados ) através do DataSet. Para isto vamos criar e configurar um Data Adapter usando um assistente que nos ajudará no processo. colunas . Nota: DataAdapter . O DataSet proporciona o acesso a tabelas .Resumo das tarefas realizadas : Até agora não fizemos nada de excepcional : 1.0 Definimos um novo projeto como: Visual Basic Project .

e clique na guia Data . Prepare-se : 1. Click no botão Next e teremos a seguir a tela onde iremos criar um objeto Connection . Selecione a Caixa de ferramentas . . Clique então na opção New Connection.Command e incluí-los no DataSet e levar os dados do DataSet a fonte de dados usando objetos Command. A seguir selecione o objeto OleDbDataAdapter e o arraste para formulário projeto.(ver abaixo) 2.ToolBox. Ao soltar o objeto no formulário o Assistente será iniciado como na figura abaixo: A guia Data e o objeto OLedbDataAdapter A tela inicial do assistente para configurar o Data Adapter 3.

mdb ( ou o seu bd ).clique no botão da opção 1. verá a mensagemTeste de conexão bem sucedido.na guia Provedor .. Depois clique no botão . se você fez tudo certinho .4.Conexão .o OLE DB Provider ( pois estamos acessando uma base de dados access) e clique no botão Avançar. Na janela .Propriedades de vinculação de dados . e .Selecione ou insira o nome de um banco de dados . Depois na guia . (Veja nas figuras a seguir) . selecione Microsoft Jet 4.e selecione o banco de dados Agenda.Testar Conexão.

Selecione a opção . Clique em OK e a tela mostrada abaixo irá surgir .Use SQL statements .(pois vamos usar uma instrução SQL ) e clique em Next .5.

6. na parte inferior . Agora podemos clicar no botão Finish pois já temos o OLedbDataAdpater configurado. abaixo do formulário: . 7. Como queremos selecionar todos os registros vamos usar uma instrução Select como mostra abaixo. Perceba que no seu projeto agora existem dois novos objetos :OleDbDataAdapter1 e OleDbConnection1 que foram criados e associados ao formulário Contatos . Na janela a seguir devemos inserir a instrução SQL que irá retornar os registros que desejamos manipular da tabela clientes.

Properties. clique com o botão direito do mouse e escolha . A janela de propriedades para OleDbDataAdapter1 Alterando o nome das propriedades que armazenam as instruções SQL . Vamos por partes : Objeto OleDbDataAdapter1 .Selecione o objeto OleDbDataAdapter1.Vamos alterar algumas das propriedades dos objetos OleDbDataAdapter1 e OleDbConnection1.

A seguir escolha a opção :Generete DataSet. UpdateCommand. DeleteCommand .. Provider e ConnectionString Gerando o DataSet Agora estamos pronto para gerar o DataSet .. vamos alterar também as propriedades que contém as instruções SQL : SelectCommand . InsertCommand .Selecione o objeto OleDbConnection1.Vamos alterar a propriedade Name para daClientes .Properties. clique com o botão direito do mouse e escolha . para isto selecione o objeto daClientes(OleDbDataAdapter) e clique com o botão direito do mouse . 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 DeleteCommand InsertCommand UpdateCommand Objeto OleDbConnection1 . . Valor Padrão OleDbDeleteCommand1 OleDbInsertCommand1 OleDbUpdateCommand1 Alterar para ExcluirClientes InserirClientes AtualizarClientes Vamos alterar a propriedade Name para cnAgenda Obs: Veja as propriedades DataSource .

Teremos o objeto DsClientes exibido no painel abaixo do formulário .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. Vamos inserir os controles TextBox . Button no formulário para exibir os dados da tabela clientes e para permitir a ação do usuário para gerenciar os dados. Label . Crie a interface conforme o layout exibido abaixo: . conforme figura ao lado Colocando os controles no formulário Agora vamos para uma tarefa que você ja esta acostumado.

expandindo a propriedade DataBindings de cada controle: Expanda DataBindings .DsClientes) Me. depois expanda Clientes e selecione nome do campo que deseja exibir no controle.-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á.EnforceConstraints = False Try 'dispara o método Fill do objeto DataAdapter .cnAgenda.O DataSet deve receber os dados a exibir e alimentará os controles textBox com a informação referente a cada campo vinculado. Para isto vamos alterar a propriedade Text .Open() dataset. Escrevendo o código Agora vamos escrever o código para o nosso projeto. a seguir expanda DsClientes . clicando em + . Repita isto para cada controle TextBox. A lógica será a seguinte: . 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: PublicSubCarrega_Dataset(ByVal dataset As contatos.

.Load 'vamos usar a rotina carrega_dataset para preencher 'o objeto dataset com os registros retornados pela 'instrução SQL Carrega_Dataset(DsClientes) Exibe_Posicao() EndSub Perceba que temos outra função . Agora basta chamar a função Carrega_Dataset no evento Load do formulário para carregar os dados na carga do mesmo.que verifica se existe dados a serem exibidos e que informa a posição relativa do registro frente ao total de registros da tabela.daClientes .BindingContext(DsClientes.Close() EndTry EndSub Aqui temos o objeto Data Adapter . Se ocorrer um erro durante o processamento cada declaração Catchvai ser percorrida em busca do tratamento para o erro em questão..Text = "Não existem dados !!" Else iposicao = Me.Exception Throw cException Finally dataset... Esta estranhando a instrução : Try.ToString & " de " & icontador.Exibe_Posição . ByVal e As System.BindingContext(DsClientes.Me.daClientes. finalmente veremos os dados exibidos conforme a figura abaixo: . O seu código é o seguinte: PublicSubExibe_Posicao() Dim icontador AsInteger Dim iposicao AsInteger icontador = Me.Fill(dataset) Catch cException As system.Count If icontador = 0 Then txtpainel. "Clientes").EnforceConstraints = True Me.cnAgenda. Throw Dentro do bloco Try colocamos o código que pode apresentar erros . O código para isto é o seguinte: PrivateSub Form1_Load(ByVal sender As System..Position + 1 txtpainel.Select * from Clientes. Finally . A declaração Throwpode ser usada para gerar um erro.usando o método Fill que esta vinculado a instrução SQL .EventArgs) HandlesMyBase.Catch . O bloco Finallysempre será executado depois do processamento do bloco Try .Object. "Clientes").ToString EndIf EndSub Ao executar o projeto ..Text = " Reg " & iposicao.

José Carlos Macoratti . Com isto terminamos a primeira parte deste artigo . ou seja . você pode executar o projeto que os dados serão exibidos no formulário conforme figura ao lado.. A continuação deste artigo será como dar manutenção nos dados . .NET . exclusões e atualizações em uma base de dados. onde mostramos como acessar e exibir os dados de uma base de dados no VB.Após terminar . realizar alterações . Até lá ..