ASP .NET - Usando consultas armazenadas no Access


Para usar consultas armazenadas no Access em páginas ASP.NET basta declarar o tipo de consulta que estamos querendo usar , no caso Stored Procedure , e, declarar o nome da consulta armazenada.

No exemplo abaixo eu vou exibir o resultado da consulta armazenada pela consulta - "[Category Sales for 1995]" armazenada no banco de dados Nwind.mdb (Banco de dados exemplo instalado com o VB)

O resultado será exibido em um DataGrid através de um DataSet. O código é o seguinte :

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDB" %>
<script language="VB" Runat="server">

Sub Page_Load(Source as Object, E as EventArgs)
      VinculaDados
End Sub

Sub VinculaDados()
'Define a string de conexão usando um provedor OLE DB
Dim strConn as string =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data\NWind.mdb") & ";"

'Define um conexão , um dataset e um objeto Command
Dim Conexao as New OleDBConnection(strConn)
Dim ds as New DataSet
Dim Cmd as New OleDBCommand()

'define o tipo de comando e o nome da consulta armazenada
With Cmd
    .Connection=Conexao
    .CommandType=CommandType.StoredProcedure
    .CommandText = "[Category Sales for 1995]"
end with

Try
   'abre a conexão e vincula o resultado da execução do comando a fonte de dados do datagrid 
   Conexao.Open()
   MeuDataGrid.DataSource = Cmd.ExecuteReader
   MeuDataGrid.DataBind()
Catch ex as Exception
   response.Write ("ex = " & ex.message)
Finally
   'Fecha a conexao
   Conexao.Close()
End Try

End Sub

No código acima temos o script da página ASP.NET (em VB.NET).

O código HTML que define o DataGrid pode ser:

html>
<head>
<title>Usando Consultas armazenadas no MS Access</title>
</head>
<body>
<form id="form1" Runat="server">
<asp:Datagrid Runat="server"
Id="MeuDataGrid"
GridLines="Both"
cellpadding="0"
cellspacing="0"
Headerstyle-BackColor="yellow"
Headerstyle-Font-Name="Verdana"
Headerstyle-Font-Size="11"
BackColor="white"
Font-Name="Arial"
Font-Size="10"
BorderColor="Black">
</asp:DataGrid>
</form>
</body>
</html>

O resultado do processamento da página - StoredProcedure.aspx - é dado abaixo:

Muito simples , não é mesmo ?

Até a próxima ...


José Carlos Macoratti