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 '===========================================
%>
|