ASP.NET - Acessando dados com ADO.NET
Já escrevi vários artigos sobre como acessar dados em páginas ASP.NET com ADO.NET. Apenas para lembrar abaixo tem a relação dos artigos :
ASP.NET - Acessando e exibindo dados de uma fonte de dados com ADO.NET.
ASP.NET - Usando recursos básicos em uma página ASP.NET com acesso a dados .
ASP .NET - Exibindo a seleção de um Dropdownlist em um DataGrid
Neste artigo volto a falar sobre o acesso a dados em páginas ASP.NET com ADO.NET. Por quê ?
Porque em todos os artigos citados eu sempre utilizava um controle ASP.NET para exibir os dados. Pois neste artigo ire mostrar como acessar os dados e exibir os dados de uma fonte de dados Access sem usar nenhum controle. Usarei o já famoso Response.write.
Eu tenho uma base de dados Access chamada catalogo.mdb e nesta fonte de dados tenho uma tabela chamada produtos com a seguinte estrutura:
Irei então realizar os seguintes passos para alcançar o meu objetivo : exibir os dado em um página ASP.NET sem usar nenhum controle.
Criar uma conexão usando o objeto OleDbConnection
Criar um objeto DataAdapter
Criar um objeto Datatable e preencher este objeto com os dados da minha tabela produtos
Obter o número de registros selecionados
Percorrer os registros e exibir os dados formatados na página ASP.NET
Vou utilizar o Web Matrix onde estarei escrevendo o código e testando a aplicação usando o servidor Web Matrix.
1.
Abra o ASP.NET Web Matrix.
2.
Selecione (General) do
painel Templates.
3.
Selecione o modelo ASP.NET
Page.
4.
Digite um caminho de arquivo
na caixa Location. (no meu caso eu informei : d:\aspn\acc_adonet\)
5.
Digite accADONet
na caixa Filename. (você pode usar qualquer outro nome de arquivo
válido)
6.
Selecione Visual Basic na caixa drop-down Language.
7.
Clique OK.
Agora na guia All do Web Matrix inclua o código abaixo:
<%@ import
Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> Sub Page_Load(sender As Object, e As EventArgs) Dim conn As OleDbConnection Dim da As OleDbDataAdapter dim dt As DataTable dim i, n As Integer dim strSql As String Response.Write("<p><font face='Verdana' size='5' color=blue><strong>") Response.Write("<img src='maco10.gif'> - Catálogo de Produtos") Response.Write("</strong></font><hr noshade size='1'>") Response.Write("<p><font face='Verdana' size='2'> ") 'define a string SQL para selecinar os registros da tabela produtos strSql = "SELECT * FROM Produtos ORDER BY ID ASC;" 'define a string de conexao com a base de dados conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ Server.MapPath("dados\catalogo.mdb") & ";") ' Criar o comando da = New OleDbDataAdapter(strSql, conn) ' preencher o DataTable dt = New DataTable da.Fill(dt) 'obtem o no. de linhas da tabela n = dt.Rows.Count 'se não há linhas informa ao usuário If n = 0 then Response.Write("<p>sem registros.</p>") Else Response.Write(n.ToString & " produtos encontrados.<br>") Response.Write("<p>") 'define as variáveis para guardar informação sobre os registros Dim sNome, sLink, sDescricao As String Dim nCodigo As Integer
'percorre os registros obtendo e exibindo cada um na pagina |
Agora basta testar. O resultado obtido esta mostrado na figura abaixo:
Na página acima cada Nome de produto esta associado a um link de forma que se o usuário clicar sobre o mesmo a página do link será aberta exibindo mais informações sobre o produto.
Nota: O banco de dados
catalogo.mdb deve estar em uma pasta chamado dados no mesmo
diretório de localização da página accADONet.aspx por que eu estou usando
Server.MapPath("dados\catalogo.mdb").
È simples , é fácil é ASP.NET ...
José Carlos Macoratti