ASP tiene una de las funciones más importantes, que es que te permite conectarte a la base de datos muy fácilmente. Generalmente está conectado a una base de datos Access o SQL. Debido a que Access es el método más fácil para comenzar y es posible que Access ya esté instalado en su máquina, usaremos Access en los siguientes ejemplos. Una vez que aprenda los métodos técnicos básicos para conectar bases de datos ASP y Access, cuando comience a utilizar el servidor SQL, encontrará que las tecnologías clave necesarias para ambos son básicamente las mismas.
Crear un nombre de fuente de datos (DSN)
Puede hacer que su base de datos esté disponible para su uso en ASP creando un DSN del sistema para su base de datos en el panel de control. Puede crear varios DSN en su computadora local, cada DSN correspondiente a una base de datos diferente que utiliza. Después de configurar el DSN, puede probar su página en su servidor local. Si su sitio web es
atendido por un ISP y el ISP admite ASP, entonces es muy probable que proporcione una interfaz GUI para crear un DSN para su base de datos.
En Windows 95/98/NT, abra el Panel de control (Menú Inicio -> Configuración -> Panel de control) y haga doble clic en ODBC para ingresar.
Seleccione el DSN del sistema y haga clic en Agregar.
Seleccione "Controlador de Microsoft Access" y haga clic en Finalizar.
Complete el nombre de la fuente de datos. Este es el nombre que le das a tu base de datos, por lo que es la misma operación que un alias.
Haga clic en el botón Seleccionar en la selección de la base de datos para explorar la ubicación en el sistema donde está almacenada la base de datos de Access que creó.
Haga clic en Aceptar
El nuevo DSN ahora aparecerá en el DSN del sistema y estará disponible en su servidor local.
Conexión a la base de datos Configuremos una conexión sin DSN y veamos cómo conectarnos a la base de datos. Cuando crea un DSN, ya almacena cierta información sobre la base de datos, por lo que no necesita repetirla cada vez que necesita usar cierta información como el tipo de base de datos, el nombre, la ubicación de almacenamiento y propiedades opcionales, usuarios y contraseñas.
Para crear una conexión sin DSN, debe proporcionar la misma información. El siguiente ejemplo muestra cómo establecer una conexión sin DSN a una base de datos llamada productos:
<%
StrConnect = "Controlador={Controlador de Microsoft Access (*.mdb)}; DBQ=C:dbproducts.mdb"
Establecer objConn = Server.CreateObject ("ADODB.Connection")
objConn.OpenStrConnect
%>
La segunda línea define el controlador y la ruta física de la base de datos. Para utilizar una conexión sin DSN, necesita conocer la ubicación real del archivo (ruta absoluta). Server.MapPath proporciona un entorno de trabajo sencillo para que cualquiera que utilice servicios de alojamiento encuentre esas rutas de acceso reales difíciles de encontrar.
Si hemos creado un sistema DSN llamado productos, el código de conexión debería ser:
<%
Establecer objConn = Server.CreateObject ("ADODB.Connection")
objConn.Abrir "productos"
%>
Ahora que la base de datos está abierta, ¿qué puedes hacer? Por supuesto, lo primero es leer una serie de registros en la base de datos y colocarlos en su página. Pero antes de eso, necesitas un conjunto de registros.
Conjunto de registros
Un conjunto de registros es toda la información almacenada en una tabla de base de datos especial. Por lo tanto, cuando abre este conjunto de registros, se puede acceder al contenido de todas las filas y columnas de la tabla. Debe abrir este conjunto de registros tal como necesita abrir la conexión de la base de datos. Sus comandos son similares:
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "descargable", strConnect, 0,1,2
crea un conjunto de registros (objRec) denominado tabla descargable, que se define en strConnect en la base de datos de productos. Usando Recordset open, podemos recorrer esta tabla y mostrar todo su contenido en la pantalla. Alternativamente, podemos probar el contenido de campos específicos o simplemente escribir en la pantalla lo que nos interesa.
Cada columna representa un campo. Entonces, si la tabla de la base de datos se ve así:
ID de producto | Nombre | de SKU | Archivo |
1 | PR12345 | Producto A | install_a.exe |
2 | PR12346 | Producto B | Install_b.exe |
Luego, tenemos el contenido de los siguientes campos: ProductID, SKU, Nombre y Archivo. Lo más probable es que su tabla tenga muchos campos adicionales, que pueden contener muchas cosas, como el precio o la descripción del producto (artículo). Pero este diagrama esquemático puede proporcionarle el concepto más básico de tablas de bases de datos.
Completar el contenido del conjunto de registros es muy fácil usando el conjunto de registros. Si desea recorrer la base de datos e imprimir toda la información en la pantalla, puede hacer lo siguiente:
Mientras NO objRec.EOF
' dice que hagamos esto siempre y cuando no hayamos llegado al final del archivo
Response.WriteobjRec("ProductID") & ", "
Respuesta.WriteobjRec("SKU") & ", "
Response.WriteobjRec("Nombre") & ", "
Response.WriteobjRec("Archivo") & "<BR>"
objRec.MoveNext
Encaminarse a;
Incluso si no ha utilizado bucles de esta manera, aún puede leer este código para escribir información en cadenas delimitadas por comas y, cuando se crea una nueva fila en la tabla de la base de datos, crear una nueva fila para registrar esa fila en la tabla. Puede utilizar el mismo método para escribir datos en una tabla HTML. Al utilizar Response.Write para agregar sus etiquetas TABLE, hay algunas cosas que debe tener en cuenta:
sus etiquetas HTML y el contenido entre comillas.
Si sus etiquetas o contenido usan comillas, asegúrese de usar comillas dobles:
<FONT TAMAÑO=""+2"">.
Utilice & para conectar variables e información HTML/contenido para seleccionar campos en el conjunto de registros. Supongamos que nuestra base de datos de productos también contiene un campo llamado SO. Supongamos que este campo es un delimitador de plataforma. Nuevamente, supongamos que los datos almacenados en este campo sólo pueden ser los siguientes: Windows NT, Windows 95, Windows 98, Windows, Mac, Unix o Linux.
A continuación, podemos confirmar qué campos necesitamos imprimir en la pantalla y qué campos queremos ignorar. Alternativamente, podemos seleccionar qué campos usan un formato y otros campos usan un formato diferente, por ejemplo, usando diferentes colores.
Usar un bucle If... simple puede darnos más control sobre la base de datos. Primero imprimamos registros sobre productos Windows NT:
<TABLE BORDER=0 WIDTH=600>
<TR><TD COLSPAN=4 ALIGN=CENTER><FONT TAMAÑO="+1"<<B>Productos Windows NT</B></FONT></TD></ TR>
<%
Mientras que NOT objRec.EOF
Si objRec("OS") = "Windows NT" ENTONCES ' especifica los criterios
Response.Write "<TR><TD BGCOLOR=""#FFFF66"">" & objRec("ProductID") & " </TD>"
Respuesta.Escribir "<TD>" & objRec("SKU") & "</TD>"
Respuesta.Escribir "<TD>" & objRec("Nombre") & "</TD>"
Respuesta.Escribir "<TD>" & objRec("Archivo") & "</TD></TR>"
fin si
objRec.MoveNext
Venir
%>
</TABLA>
Agregar un registro Una vez que comience a utilizar conjuntos de registros y ASP, realmente querrá poder agregar datos a la base de datos a través de la red. Agregar contenido es importante, por ejemplo, cuando necesita que los visitantes de su web dejen sus puntos de vista y opiniones, o cuando desea realizar actualizaciones administrativas.
El siguiente código abre un conjunto de registros relacionado con una tabla de base de datos con los nombres de los libros y sus autores. Probablemente haya visto esto antes, pero esta vez, las últimas tres especificaciones definen diferentes tipos de puntero: adOpenStatic, adLockOptimistic, adCmdTable:
<% ' el código de la base de datos ya se ha realizado;
Establecer objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "libros", bookdb, adOpenStatic, adLockOptimistic, adCmdTable
%>
(Si no está utilizando el archivo de copia de adovbs.inc, la tercera línea debe ser: objRec.Open "books", bookdb, 3,3,2.
El conjunto de registros ahora está listo para recibir datos, solo necesita
).para decirle qué agregar. En este caso, digamos que tomamos las variables de la tabla: strBookTitle y strBookAuthor. Nuestra tabla, libros, tiene dos campos llamados Título y Autor, por lo que podemos agregar un nuevo registro usando la siguiente declaración:
<%
objRec.AddNew
ObjRec("Título") = strBookTitle
objRec("Autor") = strBookAuthor
objRec.Actualizar
%>
strBookTitle y strBookAuthor representan valores y los usuarios suelen acceder a ellos. Si solo desea probar la funcionalidad de agregar, puede agregar una variable para el título y el autor; solo recuerde usar comillas. La primera vez que lo use, probablemente abra su base de datos inmediatamente para asegurarse de que se realicen actualizaciones.
Tipo de conjunto de registros En el ejemplo objRec.Open que se muestra, encontrará las palabras 0, 1 y 2 al final. Estos números representan diferentes tipos de punteros. El tipo que uses depende de para qué lo usarás. Por ejemplo, si no necesita modificar ni agregar ningún registro, puede utilizar un tipo de bloqueo. Cuando planee modificar o actualizar la base de datos, el tipo que elija será diferente.
0,1,2 en realidad representa:
adOpenForwardOnly, adLockReadOnly, adCmdTable
Por supuesto, si ya tiene una copia de seguridad de adovbs.inc en su servidor, también puede usar estas palabras directamente sin usar números. adovbs.inc contiene estas tres constantes y una lista de otras constantes.