Acessando e exibindo dados com ADO.NET
Vamos neste artigo falar um pouco sobre o acesso a banco de dados usando ASP.NET com ADO.NET. Se você sabe como acessar uma base de dados usando o VB.NET vou lhe dar uma boa notícia : " para criar uma página ASP.NET que acesse um banco de dados você não vai ter que fazer alteração alguma , é praticamente igual ao código usado no VB.NET".
Na verdade podemos fazer este serviço usando a linguagem C# também (vou mostrar isto em outro artigo) ; e , se você ainda não percebeu o código VB.NET é integralmente reutilizado em uma página ASP.NET.
Se você quer lembrar como acessar um banco de dados usando o VB.NET pode ler os seguintes artigos: (veja o link VB.NET para mais artigos)
Vou acessar uma base de dados Access usando ADO.NET com código VB.NET e exibir os dados de uma das tabelas em uma página ASP.NET.
Não vou me ater a teoria relacionada ao ADO.NET pois já fiz isto em artigos anteriores , vou apenas dar uma repassada nos conceitos básicos envolvidos na operação de acesso a base de dados. (Vou acessar a tabela Authors do banco de dados Biblio.mdb que esta na pasta c:\teste)
A primeira coisa a ter em mente é que como vamos criar uma página ASP.NET , e o arquivo com o código terá a extensão .aspx. Dei o nome acesso.aspx ao arquivo e usei o editor Bloco de notas para digitar todo o código VB.NET.
1- Temos que usar os namespaces System.Data e System.Data.OleDb pois vou acessar uma base de dados Access. ( As tags <% %> indicam que o código é código de script ) ; informamos a linguagem usada no código abaixo e indicamos que o código será rodado no servidor:
<%@
Import Namespace="System.Data" %> .... |
2 - A primeira coisa a fazer para acessar uma base de dados usando ADO.NET é criar uma conexão. Veja abaixo o código que cria uma conexão com a base de dados Biblio.mdb.(O código será colocado no evento Load_Page que é o primeiro evento que ocorre quando a página for carregada):
sub
Page_Load(sender as Object, e as EventArgs) ...... |
3- Após abrir a conexão usando o provedor OLEDB.NET precisamos criar uma consulta para selecionar os dados que desejamos da tabela Authors. Vou Selecionar todos os registros cujo campo Au_ID seja menor ou igual a 13 . (<=)
A consulta SQL ficará então assim : "SELECT * FROM Authors Where Au_ID <= 13" e o código da consulta será :
'defina a
consulta SQL Dim strQuery as String = "SELECT * FROM Authors Where Au_ID <= 13" 'Cria um objeto Command Dim objCommand as OleDbCommand objCommand = New OleDbCommand(strQuery, objConnection) ..... |
5- Vamos usar o objeto DataReader para ler os dados do banco de dados , para isto temos que criar e configura este objeto. Veja abaixo:
'
define um OleDbDataReader ..... |
6- Basta agora exibir os dados em um controle DataGrid . Atribuimos ao DataGrid (DataSource) o objeto DataReader criado e fazemos a vinculação dos controles.(DataBind()):
' exibe os
dados em um datagrid dgDB.DataSource = objDataReader dgDB.DataBind() .... |
Obs: poderíamos também percorrer o DataReader usando um código como o abaixo:
While
objDataReader.Read() objDataReader("Coluna") End While |
Para encerrar o arquivo temos que usar o seguinte código : Nele fechamos a conexão o DataReader e o script.
'fecha a conexao e o
datareader objDataReader.Close() end sub </script> <asp:DataGrid id="dgDB" runat="server" /> |
O código completo do arquivo acess.aspx é o seguinte: Você pode copiá-lo usando o Bloco de notas , wordpad ou Visual Studio.NET.
<%@ Import
Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script language="VB" runat="server"> sub Page_Load(sender as Object, e as EventArgs) Dim connString as String connString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:\teste\Biblio.mdb;" Dim objConnection as OleDbConnection objConnection = New OleDbConnection(connString) objConnection.Open() 'abre a conexao 'defina a consulta SQL Dim strQuery as String = "SELECT * FROM Authors Where Au_ID <= 13" 'Cria um objeto Command Dim objCommand as OleDbCommand objCommand = New OleDbCommand(strQuery, objConnection) ' define um OleDbDataReader Dim objDataReader as OleDbDataReader objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection) ' exibe os dados em um datagrid dgDB.DataSource = objDataReader dgDB.DataBind() 'fecha a conexao e o datareader objDataReader.Close() end sub </script> <asp:DataGrid id="dgDB" runat="server" /> |
Nota : Perceba o código por trás da página definindo o DataGrid : <asp:DataGrid id="dgDB" runat="server" />
A seguir copie o arquivo acesso.aspx para o seu diretório virtual e execute a página acesso.aspx. O resultado será :
Simples !! Não é mesmo ??? . Em breve novos artigos sobre ASP.NET , aguarde...
José Carlos Macoratti