NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosNet : Adonetdatagrid001
Quer receber novidades e e-books gratuitos?

Acessando um banco de dados facilmente com ADO.Net e Datagrid

Olá Pessoal,

Dando continuidade aos nossos tutoriais, hoje começaremos a trabalhar com as classes de acesso a dados.

Acessar base de dados é geralmente o foco de todas as aplicações voltadas para a Web, de fato é o que torna o site propriamente dito como dinâmico. O grande problema é que para acessar dados nunca foi tão simples. Em sites que não usavam uma estrutura robusta de programação, não se enxergava a necessidade de rodar consigo uma base de dados, mas este conceito mudou. Hoje em dia, por mais simples que seja, o site necessita de um banco de dados, e o problema maior é que os designers por não possuírem conhecimento em programação, acabam utilizam códigos prontos que na maioria das vezes não resolvem o problema. Solução: Pagar um programador Free-Lancer para fazer o serviço!

Com base nisso temos o seguinte objetivo para o nosso tutorial:

Objetivo: Apresentar os métodos de acesso a dados através do ADO.NET , abordando conceitos iniciais sobre o controle Datagrid com a criação de um sistema de busca simples.

Criaremos um sistema de busca, simulando um site de vendas de produtos. Para tanto, não será necessário criar a base de dados, pois utilizaremos o famoso Northwind juntamente com o Microsoft Access.

Então,

Crie um arquivo do tipo ASPX e insira os seguintes controles com suas respectivas propriedades:

Texbox

ID: txtbusca

Button

ID: btnBuscar

Text: Buscar

RequiredFieldValidator

ErrorMessage: Digite um valor para a busca

ControlToValidate: txtbusca

Label

ID: lblResultado

Datagrid

ID: dgProdutos

Clique sobre o Datagrid, e na guia propriedades clique no link Autoformatação.

Escolha um modelo qualquer dos apresentados:

Veja como ficou:

Vamos aos códigos então.

Clique duas vezes sobre o botão btnBuscar para entrar no modo de edição de código para o evento Click deste botão.

A primeira coisa a se fazer é importar os namespaces que serão utilizados. Para este tutorial precisaremos do namespace System.Data e System.Data.OleDb.

O namespace System.Data compreende as classes para a manipulação dos dados juntamente com a classe de conexão.

O ADO.Net traz consigo algumas novidades sobre as classes de acesso a dados. Para o acesso ao SQL Server 7.0 ou superior foi desenvolvido o namespace System.Data.SqlClient, e para o Oracle, o namespace System.Data.OracleClient. Como vamos acessar o banco de dados Access, precisaremos do namespace System.Data.Oledb que também serve para o SqlServer, mas não convém usa-lo, uma vez que a performance da classe SqlClient é superior para este caso.

Abaixo da diretiva page declare os namespaces, como mostrado abaixo:

Agora vamos detalhar os procedimentos para a execução da busca.

Primeiramente, vamos armazenar a string de conexão dentro de uma variável global chamada banco.

Public banco as string=”Provider=Microsoft.Jet.OleDb.4.0;Data Source=” & Server.MapPath(“Northwind.mdb”)

Obs: Procure colocar o arquivo do banco de dados dentro da mesma pasta da aplicação.

Agora vamos aos objetos, primeiramente com o objeto de conexão.

Dim conn as new OleDBConnection(banco)

Nesta declaração é criada uma nova instância do objeto OledbConnection, como argumento é passado o caminho do banco de dados.

Agora implementaremos a classe que enviará os comandos ao banco de dados.

Dim cmd as new OleDBCommand()

cmd.CommandText=”Select NomeDoProduto, PreçoUnitário from Produtos where NomeDoProduto like ‘”& txtbusca.text & “%’ “

cmd.Connection=conn

Na propriedade CommandText deve ser passado a string Sql que fará a consulta ao banco de dados. A propriedade Connection indica qual conexão será utilizada para enviar o comando.

O ADO.Net permite trabalhar com dois objetos para a manipulação dos dados. O DataReader e o Dataset. O DataReader permite a leitura dos dados e também a manipulação de atualização e exclusão, porém, é necessário que sempre esteja conectado ao banco de dados, ao contrário do Dataset, que permite a manipulação de dados desconectado da fonte.

Neste tutorial não abordaremos detalhes destes dois objetos, em breve estaremos entrando em mais detalhes sobre este assunto.

Vamos agora abrir o banco de dados e criar o DataReader para ler os dados.

Conn.Open()

Dim dr as OleDBDataReader

Dr=cmd.ExecuteReader()

Veja que o objeto DataReader armazena o método de execução do objeto Command.

Agora vamos tratar a execução da busca com o bloco if.

If dr.Read then

DgProdutos.DataSource=dr

DgProdutos.DataBind()

Else

LblResposta.Text=”Sua busca não retornou resultado!"

End if

Neste trecho definimos que se o DataReader possuir registros (dr.Read), o Datagrid dgProdutos irá recebe-lo como fonte de dados, e logo depois será renderizado no navegador através do método Databind().

Agora temos que organizar os eventos, visto que os códigos acima não foram designados à execução de procedimento algum. Então, o código será organizado da seguinte maneira:

‘Rotina para efetuar a busca

Sub EfetuarBusca()

Dim conn as new OleDBConnection(banco)

Dim cmd as new OleDBCommand()

cmd.CommandText="Select NomeDoProduto,PreçoUnitário from Produtos where NomeDoProduto like '"& txtbusca.text &"%'"

cmd.Connection=conn

conn.Open()

Dim dr as OleDBDataReader

dr=cmd.ExecuteReader()

if dr.Read then

dgProdutos.DataSource=dr

dgProdutos.DataBind()

Else

lblResultado.Text="Sua busca não retornou resultado!"

End if

End Sub

‘Chamando a função para efetuar a busca

Sub btnBUscar_Click(sender As Object, e As EventArgs)

EfetuarBusca()

End Sub

Veja a listagem do código completo:

Pressione F5 para testar.

Ok, funcionou e bem.

Ficamos por aqui. Hoje você conheceu a facilidade de acessar dados com ADO.Net e exibi-los através do WebControl Datagrid. Nos próximos tutoriais, abordaremos mais assuntos relacionados ao acesso a dados com ADO.Net.

Lano de Castro

“Se não se pode vencer pelo talento, vença pelo esforço”

1 Visão geral do .NET Framework e do CLR
1 Comunicação .NET e VB 6.0 (com Visual Studio.NET 2005) - Parte I
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 1
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 2
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 3
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 4
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 5
1 VB: Menu Principal, Menu PopUp e Arquivos Texto
Visual Studio
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control
1 Visual Web Developer - 2005 - Beta 2 - Introdução
1 ASP.NET 2.0 - Conhecendo o GridView
1 ASP.NET 2.0 - Utilizando o GridView e DetailsView
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control - Parte 2
1 ASP.NET 2.0 - Utilizando o XmlDataSource
1 Envio de e-mail através de formulário web
1 ADO.NET 2.0 - Conhecendo as novidades parte 1
1 Série Visual Source Safe - Parte 1
1 Série Visual Source Safe - Parte 3
1 URL Indexável – Reescrever URL de uma forma amigável
1 Permissão de Página Utilizando Web.Config
1 Usando public interface
1 Trabalhando com o componente TabContainer
1 Adicionando Menu no DataGridView
ASP.NET
1 Conhecendo o ambiente integrado do WebMatrix
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte I
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte II
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte III
1 Acessando um banco de dados facilmente com ADO.Net e Datagrid
1 Desvendando os segredos do Dataset- Parte I
1 Construindo um Sistema de Publicação de Notícias – Parte 1
1 Construindo um Sistema de Publicação de Notícias – Parte 2
1 Construindo um Sistema de Publicação de Notícias – Parte 3
1 Construindo um Sistema de Publicação de Notícias – Parte 4
1 Construindo um Sistema de Publicação de Notícias – Parte 5
1 Login com Perfil de Acesso
1 Guest Book com XML - Parte 1
1 Guest Book com XML - Parte 2
1 Agendando Datas no Calendário com XML
1 Filtrando e Organizando Dados com o Controle DataView
1 Lista de Dados com Subitens – Parte 1
1 Lista de Dados com Subitens – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 1
1 Trabalhando com Arquivos e Diretórios – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 3
1 Sistema de Enquetes baseado em WebServices – Parte 1
1 Sistema de Enquetes baseado em WebServices – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 3
1 Upload de Arquivos
1 Crie seu próprio código de verificação
1 Login e Senha com FormsAuthentication – Parte 1
1 Login e Senha com FormsAuthentication – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 4
1 Sistema de Enquetes baseado em WebServices – Parte 5
1 Sistema de Enquetes baseado em WebServices – Parte 6