|
¿Han visto sites en la red que tienen servicios de noticias, o tal vez
recetas de cocina, etc.?, ¿se han preguntado como es que pueden manejar
este tipo de informacion sin tener que hacer una pagina web para cada una?. La
respuesta es utilizar una base de datos y paginas de contenido dinamico. Bueno,
pero como para todo existen varias formas de hacer las cosas, les voy a tratar
de explicar con una base de datos de Access 2000 y con paginas ASP, la forma que
a mi ver es la mas sencilla.
Vamos a crear una base de datos que tendra una tabla llamada Contactos con
los siguientes campos:
Campo Tipo Longitud
Id Auto -
Nombre Texto 60
Email Texto 20
Pais Texto 20
Ya con nuestra Base hecha, la parte mas importante es saber como conectarnos
a ella, y el metodo que yo utilizo es este:
' Creamos la conexión a la base de datos sin DSN
set con = Server.CreateObject("ADODB.Connection")
'le pasamos el driver a utilizar y la ubicacion de la base
strcon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/base.mdb")
& ";"
'y por utlimo le decimos que abra la conexion
con.Open strcon
Esto es importante que lo entendamos, porque para cada operacion que realicemos,
vamos a utilizarla. Ahora vamos a ver como seria una forma para dar de alta
registros, digamos que nuestra pagina html tiene el siguiente formulario:
<center>
<form method="POST" action="altas.asp">
<table>
<tr>
<td>Nombre </td>
<td><input type=text name="nombre" size=40></td>
</tr>
<tr>
<td>Email </td>
<td><input type=text name= "mail" size=40></td>
</tr>
<tr>
<td>Pais </td>
<td><input type=text name= "pais" size=40></td>
</tr>
</table>
<input type="submit" value="Enviar">
</form>
</center>
Este es el codigo de la pagina altas.asp que es la que se va a encargar de
insertar la informacion que tenga el formulario.
<%
'**** altas.asp ****
' Recogemos los valores del formulario
dim varnombre, varemail, varpais
varnombre = Request.Form("nombre")
varemail = Request.Form("mail")
varpais = Request.Form("pais")
dim con, rs
' Creamos la conexión a la base de datos sin DSN
set con = Server.CreateObject("ADODB.Connection")
'le pasamos el driver a utilizar y la ubicacion de la base
strcon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base.mdb")
& ";"
'y por utlimo le decimos que abra la conexion
con.Open strcon
'Creamos un recordset
txtsql = "Select * from Contactos"
set rs = Con.execute (txtsql)
'esta instruccion es la que va a hacer el insert de nuestros valores en la
BD
insertar = "INSERT into Contactos (Nombre, Email, Pais) values ('"&
varnombre &"','"& varemail &"','"& varpais
&"')"
Con.execute (insertar)
'Terminamos e imprimimos un mensaje
Response.Write "<body><p><b>Alta exitosa!!!</b></p>"
Response.Write "<p>Los datos que se grabaron son : </p>"
Response.Write "<b>Nombre: </b> "& varnombre &
"<br>"
Response.Write "<b>Email: </b> "& varemail & "<br>"
Response.Write "<b>Login: </b> "& varpais & "<br>"
Response.Write "<p>Gracias !!!</p> "
'liberamos la memoria cerrando la conexion y el recordset
rs.Close
Con.Close
set rs = Nothing
set Con = Nothing
%>
Esto es referente a las altas, pero, ¿como le hacemos ahora para poder
ver lo que capturamos? Pues bien, en un momento mas lo veremos. En la misma
pagina del formulario o donde queramos ponemos una liga hacia la pagina de nuestra
consulta, de momento solo pongo una consulta sencilla que traiga todos los registros,
si queremos una busqueda mas avanzada la veremos despues, ya que de momento
esto es solo lo basico. La liga seria asi: <a href="consulta.asp">Consulta
la BD<a> y nuestra pagina ASP lleva este codigo:
<%
'**** consulta.asp ****
dim con,rs
' Creamos la conexión a la base de datos sin DSN
set con = Server.CreateObject("ADODB.Connection")
'le pasamos el driver a utilizar y la ubicacion de la base
strcon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base.mdb")
& ";"
'y por utlimo le decimos que abra la conexion
con.Open strcon
'Ejecuta un sentencia SQL de consulta
txtsql = "Select * from contactos"
Set rs = con.Execute(txtsql)
%>
<body>
<h2>Resultado de la consulta</h2>
<p>Aqui tenemos a todos nuestros contactos.</p>
<center>
<table border=1>
<tr>
<th>Nombre</th>
<th>Email</th>
<th>Pais</th>
</tr>
<% 'iniciamos un ciclo para el vaciado de los registros
Do while not rs.EOF
%>
<tr>
<td>
<%= rs("Nombre")%>
</td>
<td>
<%= rs("Email")%>
</td>
<td>
<%= rs("Pais")%>
</td>
</tr>
<%
'nos movemos al siguiente registro
rs.MoveNext
'y regresamos a nuestro ciclo
Loop
'al terminaro de vaciar datos liberamos memoria
rs.Close
Set rs = Nothing
con.Close
Set con = Nothing
%>
</table>
</center>
</body>
</html>
En la proxima parte de este articulo veremos como borrar y actualizar registros.
|