DataBinding no VB.NET - Ligando controles diretamente à fonde de dados

O objetivo deste TM é mostrar como ligar seus controles diretamente à campos de tabelas, para que eles sejam preenchidos automaticamente. Também, veremos como navegar pelos registros quando utilizamos o databinding visualmente (ajustando propriedades dos objetos em tempo de desenvolvimento), já que o ADO.NET não possui cursores. Para entender este tutorial você precisa ter conhecimentos em Visual Basic.NET e ADO.NET ...

17/07/03h

Diminuir o tamanho das letras Aumentar o tamanho das letras

Microsoft .NET

O objetivo deste TM é mostrar como ligar seus controles diretamente à campos de tabelas, para que eles sejam preenchidos automaticamente. Também, veremos como navegar pelos registros quando utilizamos o databinding visualmente (ajustando propriedades dos objetos em tempo de desenvolvimento), já que o ADO.NET não possui cursores. Para entender este tutorial você precisa ter conhecimentos em Visual Basic.NET e ADO.NET (para saber mais sobre isso consulte os tutoriais "Mudanças do ADO para o ADO.NET" e "Acesso a dados com o VB.NET").

Softwares utilizados :

- Microsoft Visual Studio.NET 2003 Enterprise Architect (também conhecido como "Everett" ou versão 7.1) - Beta Final
- Microsoft SQL Server 2000 Enterprise Edition

Requisitos do sistema:

- Processador Intel Pentium II /AMD K6-2 a partir de 450 Mhz (Pentium III/AMD Duron a partir de 600 Mhz recomendados);

- Memória RAM: 96 Mb para Windows 2000 Pro (Recomendado 128 Mb), 192 Mb para Windows 2000 Server (Recomendado 256 Mb), 96 Mb para Windows XP Home (Recomendado 160 Mb), 192 Mb para Windows XP Pro/Windows Server 2003 (Recomendado 256 Mb)

- 4.1 GB no drive da instalação e 900 Mb no drive do sistema

- Sistema Operacional: Windows 2000*, Windows XP ou Windows.NET Server 2003 (é possível executar aplicações desenvolvidas com o VS.NET no Windows 98/Me/NT 4 mas não é possível desenvolver as aplicações nesses sistemas) * o Windows 2000 Datacenter Server não é suportado.     

- Drive de CD-ROM ou DVD-ROM

- Internet Explorer 5.0 ou superior

- Placa de vídeo e monitor que suporte resolução de 800x600 e 256 cores (Recomendado High Color 16-Bit)

- Mouse

O DataBinding não se resume somente a ligar controles a um banco de dados: ele se aplica também a qualquer fonte de dados estruturada, como arquivos texto ou Arrays criados em tempo de execução, ou mesmo ligar um componente Image a uma imagem qualquer. Aqui mostraremos um caso clássico de DataBinding usado para ligar textboxes a um banco de dados. Note que faremos o DataBinding visualmente, manipulando propriedades na janela Properties, mas também é possível fazê-lo via código.

Primeiramente crie um novo projeto do tipo "Visual Basic Projects", template "Windows Application":



New Project - DataBinding

Adicione ao form dois Labels, dois Buttons (chamados "btnAnterior" e "btnProximo"), e dois TextBoxes (chamados "txtID" e "txtCompany"). Veja o layout do form:


Layout do form

Agora adicione os objetos para acesso a dados (eu não mostrarei aqui como criá-los pois este não é o nosso objetivo, e também é presumido que você já conheça o processo). Adicione um componente SqlConnection chamado "Conexao" que se conectará ao banco de dados Northwind do SQL Server 2000, um componente SqlDataAdapter chamado "Adapter" com a query "SELECT * FROM Customers" e gere um Typed DataSet chamado DsCustomers1 para esse DataAdapter:


Objetos criados na área de componentes invisíveis

Agora vamos ligar os textboxes aos campos que desejarmos: clique no txtID e na janela Properties procure pelo grupo de propriedades "(DataBindings)" e o expanda para que apareçam as propriedades que pertencem a esse grupo. Selecione a propriedade Text, clique na seta ao lado da propriedade, selecione a tabela "Customers" e o campo "CustomersID", faça o mesmo para o txtCompany porém selecionando o campo "CompanyName", veja as propriedades na figura abaixo:


Selecionado o campo CustomerID



Selecionando o campo CompanyName

Agora os controles já estão ligados à fonte de dados. Vamos inserir o código para que o form funcione. Na primeira linha de código, antes de qualquer coisa, digite a seguinte linha:

Imports System.Data.SqlClient

O comando Imports referencia o namespace System.Data.SqlClient que contém as classes de acesso a dados otimizadas para SQL Server. Vamos agora para o evento Form1_Load, clicando duas vezes numa área vazia do form, digite o seguinte código:

Conexao.Open() 'abre a conexão
Adapter.Fill(DsCustomers1, "Customers") 'popula o DataSet DsCustomers1
Conexao.Close() 'fecha a conexão

Agora vamos colocar o código dos botões. Clique duas vezes no botão bntAnterior e coloque o seguinte código no evento btnAnterior_Click:

Me.BindingContext(DsCustomers1, "Customers").Position -= 1 'subtrai 1 da posição atual

Faça o mesmo no botão btnProximo, digitantdo o seguinte código:

Me.BindingContext(DsCustomers1, "Customers").Position += 1 ' soma 1 à posição atual

Veja como deve ficar o seu código: (clique na imagem para vê-la por inteiro)


Detalhe do código

Vamos executar o programa: pressione F5. Para testar o seu funcionamento, pressione o botão Próximo duas vezes e depois no botão Anterior uma vez. O resultado será o seguinte:


Form ao ser executado, em estado normal



Pressionando o botão "Próximo >>" duas vezes



Pressionando o botão "<< Anterior" uma vez

É claro que você pode navegar da maneira que desejar - inclusive deve fazer isso. Experimente também os comandos:

Me.BindingContext(DsCustomers1, "Customers").Position = Me.BindingContext(DsCustomers1, "Customers").Count
Me.BindingContext(DsCustomers1, "Customers").Position = 0

O primeiro comando vai para o último registro e o segundo comando vai para o primeiro registro.

Conclusão

Ligar os controles diretamente à fonte de dados pode ser muito bom devido à praticidade e agilidade do processo. Você deve analisar qual método é mais interessante para você no que tange ao desempenho e produtividade, muitos preferem esse método, porém outros preferem fazer tudo via código. Em algumas situações fazer tudo por código é o melhor, tudo depende do desenvolvedor e do contexto no qual a aplicação está situada.

Marcas Registradas
Visual Basic.NET, Visual Studio.NET, Windows, SQL Server são marcas registradas da Microsoft Corporation.
Todos os demais nomes registrados, marcas registradas ou direitos de uso citados neste Tutorial pertencem a seus respectivos proprietários.

 

Autor original:  ClawHammer
Direitos Autorais:  BABOO




imprima este artigo
envie este artigo via e-mail

 

Artigos relacionados


Mais Notícias desta Área

Últimas Notícias
 
 Software  |  Hardware  |  Segurança  |  Tecnologia  |  Tutoriais  |  Download  |  Web  | Desenvolvimento  |  Fórum 
 Mundo Corporativo  |  Carreira  |  Mercado  |  Telecom  |  Servidores  |  Tecnologia 
    BABOO é um site brasileiro de TI focado em informática, tecnologia, software,hardware, tutoriais e downloads, e soluções de dúvidas através do nosso fórum.

 

Artigos do BABOO