DataReader desde Página Web dentro de un marco

 

Fecha: 27/Jun/2005 (23/Junio/2005)
Autor: Amadeus Castaños ([email protected])

En este ejemplo se consulta a una base de datos de Access usando ASPX, y para mostrar los registros obtenidos se utiliza DataReader. Los registros contenidos en DataReader son mostrados dentro un marco, vía la instrucción HTML <table></table>

Como verás el código es parecido al que se usaría en una aplicación normal, ya que no existe una versión especial para usar en páginas Web, cosa que si ocurría con ASP normal.

Si deseas más información sobre este tipo de consulta en página Web, te sugiero revisar:
Acceder a una base de datos de Access usando ADO.NET desde un formulario Web



En el zip con el ejemplo, incluyo una pequeña base de datos usada en la página Web.

¿Dónde descomprimir el fichero?
Dentro del directorio "localhost", por definición es: C:\Inetpub\wwwroot
Para acceder a la página de prueba, tendrás que usar http://localhost/marcoDataReader.aspx

Archivo con el código de ejemplo: amadeus_marcoDataReader.zip - 83 KB
El cual solo incluye el código para ASPX, sin controles ASP.NET


Código en Visual Basic.NET:

<% @Page Language = VB %>
<% @Import Namespace="System.Data"%>
<% @Import Namespace="System.Data.OleDb"%>

<script Language=VB Runat=Server>
Sub Page_Load(sender As Object, e As EventArgs)
        Dim cnn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim lector As OleDbDataReader
        Dim sql As String

        'Establecer Conexión con Access.
        cnn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ 
                                   Server.MapPath("/fpnwind.mdb") & ";")
        cnn.Open

        sql = "select * from productos"
        '
        ' Crear el comando
        cmd = New OleDbCommand(sql, cnn)

        ' Obtener registros de consulta invocada en comando
        lector = cmd.ExecuteReader(CommandBehavior.CloseConnection)    

        Response.Write("<center>")
        Response.Write("<u>Productos contenidos en Base de Datos</u><br>")
        If Not(lector.read) Then
           Response.Write("<hr>")
           Response.Write("No hay registros")
           Response.Write("<hr>")
        Else
           Response.Write("<table border=2>")
              Response.Write("<tr>")
                    Response.Write("<td>")
                          Response.Write("Clave")
                    Response.Write("</td>")
                    Response.Write("<td>")
                          Response.Write("Nombre")
                    Response.Write("</td>")  
              Response.Write("</tr>")
           Do While lector.Read
              Response.Write("<tr>")
                    Response.Write("<td>")
                          Response.Write(lector.Item(0))
                    Response.Write("<td>")
                    Response.Write("</td>")
                          Response.Write(lector.Item(1))
                    Response.Write("</td>")
              Response.Write("</tr>")
           Loop
           Response.Write("</table>")    
        End If
        lector.Close
End Sub
</script>

<html>
<head>
<title>Consulta en Access a catálago 'fpnwind'</title>
</head>

<BODY bgcolor="#FFFFFF" text="#000000">
</body>
</html>

ir al índice