Print Page | Close Window

Consulta a una base de datos

Printed From: Vida Una
Category: Programación
Forum Name: Códigos ASP y ASP.NET
Forum Description: Foro dedicado al mundo de la programación en código ASP y ASP.NET. Aquí encontrarás ejemplos y trucos en ASP muy útiles.
URL: https://www.vidauna.com/forum_posts.asp?TID=208
Printed Date: 31 Octubre 2024 at 3:21pm


Topic: Consulta a una base de datos
Posted By: Programador
Subject: Consulta a una base de datos
Date Posted: 09 Mayo 2009 at 4:36pm

consulta.asp

<HTML>
<HEAD>
 <TITLE>ASP Fácil - Código</TITLE>

<h2><center>Consulta a una base de datos</center></h2>
<%
Dim oConn, rs, SQL
Dim nombre
'Creo el objeto Connection
set oConn =  Server.CreateObject("ADODB.Connection")
'Y abro la conexión
'Access con OLEDB
'oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("base.mdb")
'Access con ODBC
'oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base.mdb")
'En mi caso, utilizo una cadena de conexión para el SQL Server
oConn.Open Application("CadenaConn")
'Mi sentencia SQL que extrae todos los campos de la tabla 'TablaEjemplo'
SQL="SELECT * FROM TablaEjemplo"
'Creo un Recordset (set rs) a partir de la ejecución de la consulta (oConn.Execute)
set rs = oConn.Execute(SQL)
'¿Esta vacío?
if rs.EOF then
 Response.Write("No hay ningún registro en esta tabla")
else
'Llamo al procedimiento que pinta la tabla
 PintarTabla
end if
'Cierro el Recordset
rs.Close
'Destruyo el objeto
set rs = nothing
'Cierro la conexión
oConn.Close
'Destruyo la conexión
set oConn = nothing
'===========================================
Sub PintarTabla ()
'Utiliza el objeto rs abierto
'para pintar la tabla
'La primera fila la escribo directamente, con
'los nombres de los campos
Response.Write( "<TABLE BORDER=""1"">" & vbCrlf)
Response.Write( "<TR>" & vbCrlf)
Response.Write( "<TD><B>Id</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Nombre</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Fecha</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Dirección IP</B></TD>" & vbCrlf )
'Hasta que llegue al final del recordset...
while not rs.EOF
 'Imprimo una fila de la tabla
 'para cada registro que encuentre
 Response.Write( "<TR>" & vbCrlf )
 Response.Write( "<TD>" & rs.Fields("Id") & "</TD>" )
 Response.Write( "<TD>" & rs.Fields("Nombre") & "</TD>" )
 Response.Write( "<TD>" & rs.Fields("Fecha") & "</TD>" )
 Response.Write( "<TD>" & rs.Fields("IP") & "</TD>" )
 Response.Write( "</TR>" & vbCrlf )
 'MUY IMPORTANTE!!!!!
 'Pasamos al siguiente registro
 rs.MoveNext
 'Olvidarte esto significa que vas a imprimir
 'siempre el mismo registro... Un bucle infinito!
wend
'Cierro la tabla
Response.Write("</TABLE>")
End Sub 'PintarTabla
'===========================================
%>



Print Page | Close Window