Você está aqui: Principal » Lista Completa de Tutoriais

Sobre este Tutorial

Autor: Lano Thiago Soares de Castro
Data: 15-07-2005
Categoria: .NET
Assunto: ASP.NET
Visitas:
E-mail: lanodecastro@hotmail.com
Site:
Avaliação: ( voto)
1 2 3 4 5
Comentários: Ler / Escrever

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”

 

LISTA DE TODOS OS TUTORIAIS DISPONÍVEIS

 

LIVROS CAMPEÕES DE VENDA NO SITE

© Júlio Battisti, 2001 - 2010. Todos os direitos reservados.
É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998. Este tutorial só pode ser publicado no site www.juliobattisti.com.br e no site do Autor do tutorial. Nenhum outro site tem permissão para copiar e publicar este tutorial, mesmo que sejam mantidas todas as referências ao autor e ao site www.juliobattisti.com.br. Não é permitida a publicação deste tutorial em nenhum outro site.