Recomendado: Ejemplo de consejo ASP: sobre el programa para formularios operativos El siguiente es el contenido referenciado: insertar contenido de formulario en la base de datos con ASP. <% ' - Loader.asp -' - Versión 1.5.2
8.3.3 Use el estado de conexiónGuardar cadenas de conexión en variables de aplicación es un truco común, y funciona y utiliza un archivo incluido. Por ejemplo, puede agregar el siguiente código al archivo global.asa:
Sub Application_onStart ()
strconn = proveedor = sqloledb; Fuente de datos = observador; & _
Catálogo inicial = pubs; ID de usuario = Davids; Contraseña = whisky
Establecer aplicación (ConnectionString) = strconn
Final
En la página ASP, puede usar el siguiente código:
Establecer Conpubs = Server.CreateObject (ADODB.Connection)
Conpubs.Application (ConnectionString)
Desde un punto de vista personal, prefiero usar el método de archivo incluido porque he escrito muchos ejemplos diferentes de conexión a varios servidores y bases de datos. El uso del método de aplicación significará que debe cerrar el navegador cada vez que reinicie la aplicación. Los lectores pueden usar cualquier método que deseen, y no hacen ninguna diferencia en la velocidad.
Para ejemplos en esta sección de este libro, un archivo Connection.asp con la cadena de conexión se utilizará como un archivo de inclusión.
8.3.4 Sintaxis de conexión
Lo que se describe anteriormente es una teoría relacionada. ¿Qué debo hacer cuando realmente quiero conectarme a un almacén de datos? Si usa un objeto de conexión definido explícitamente, puede usar el método abierto, y su sintaxis es la siguiente:
Connection.open [ConnectionString], [userId], [contraseña], [opciones]
Los parámetros se muestran en la Tabla 8-1:
Tabla 8-1 Parámetros y descripciones del método abierto
parámetro
ilustrar
Conexiones de conexiones
Una cadena que contiene los detalles de la conexión. Puede ser el nombre del ODBC DSN, el nombre del archivo de enlace de datos o los detalles de conexión real
ID de usuario
El nombre utilizado por el usuario durante la conexión. Anular cualquier nombre de usuario proporcionado en la cadena de conexión
Contraseña
Contraseña de usuario. Sobrescribir cualquier contraseña proporcionada en la cadena de conexión
Opción
Puede ser adasyncconnect, especificando que la conexión se establece de manera asincrónica. Ignore este parámetro y establezca una conexión sincrónica
Las conexiones asincrónicas no se usan en entornos ASP porque los idiomas de secuencias de comandos no pueden recibir eventos de ADO.
8.3.5 Ejemplo de conexión
Aquí hay algunos ejemplos, aquí suponga que Strconn contiene una cadena de conexión válida.
Para abrir una conexión, use el método abierto del objeto de conexión. Por ejemplo:
Establecer Conpubs = Server.Connection (ADODB.Connection)
conpubs.open strconn
'Algunos procesos
conpubs.lose
También puede usar la propiedad ConnectionString:
Establecer Conpubs = Server.CreateObject (ADODB.Connection)
conpubs.connectionString = strconn
conpubs. Abre
'Algunos procesos
conpubs.lose
No hay diferencia entre estos dos métodos de implementación. Si el método anterior se utiliza para implementar la conexión, también se asigna la propiedad ConnectionString.
Vale la pena señalar que una vez que se establece una conexión con el almacén de datos, ADO puede cambiar el valor de la propiedad ConnectionString. No se preocupe, ADO solo llena algunos valores de atributos adicionales.
8.3.6 Conexión al grupo de búfer
Las piscinas de conexión siempre confunden a muchas personas, pero el principio es en realidad muy simple. Cuando se cierra una conexión, la conexión se cierra en el caso del usuario (y ADO). Pero, de hecho, Ole DB no cierra la conexión, sino que solo la coloca en el grupo de búfer de conexión inactiva. Cada vez que un usuario (u otros) abre una conexión, el OLE DB primero detecta si hay una conexión con los mismos detalles de conexión en el grupo de conexión. Si es así, esta conexión se obtendrá directamente del grupo de búfer. Si no, cree una nueva conexión para el usuario. Para evitar la pérdida de recursos, la conexión se borra del grupo de búfer después de un período de tiempo predeterminado.
Entonces, ¿cuáles son sus ventajas? Abrir una conexión es probablemente una de las operaciones más lentas realizadas, y el grupo de búfer de conexión permite al usuario conectarse nuevamente al almacén de datos sin tener que recrear la conexión. Esto es particularmente importante para los sitios web que abren y cierran continuamente una gran cantidad de conexiones.
Para las conexiones ODBC, el grupo de búfer de conexión es controlado por el administrador de fuente de datos ODBC. Para OLE DB, el grupo de búfer de conexión (o grupo de búfer de sesión) no se puede cambiar.
Cabe señalar que el grupo de búfer de conexión no es una acción de conexión. Una conexión solo se puede usar nuevamente después de ser cerrada por el cliente.
Gestión interna
Para que el grupo de búfer de conexión entre en vigencia, es necesario asegurarse de que la limpieza esté en un estado ordenado. Esto incluye los objetos de conexión de cierre en el tiempo para que puedan reutilizarse de regreso a la piscina de búfer. Puede pensar que abrir y cerrar las conexiones constantemente es costoso para el sistema, pero debe medir la escalabilidad: muchas personas pueden utilizar su aplicación y OLE DB es muy bueno para administrar los recursos de conexión.
El principio general es: establecer la conexión lo más tarde posible y al mismo tiempo cierre la conexión lo antes posible, para garantizar el período de tiempo más corto para que la conexión se abra.
8.4 Conjunto de registros
Como se mencionó anteriormente, los registros son los objetos más utilizados en ADO, lo cual no es sorprendente. Después de todo, contienen datos. Sin embargo, hay más en el conjunto de registros de lo que cree, y es importante saber cómo se guardan y procesan los datos, ya que esto proporciona más referencia para elegir qué registro se utilizará.
Los conjuntos de registros tienen diferentes tipos, y existen diferencias en algunos lugares pequeños, que pueden conducir fácilmente a errores. Lo primero de lo que debe hablar seriamente es el concepto del cursor.
8.4.1 cursor
El cursor es un concepto que confunde a muchas personas, pero en realidad es muy simple.
El cursor se utiliza para administrar el conjunto de registros y la posición actual del conjunto de registros, que es procesado por el puntero de registro actual.
¿No es esto lo que hace el objeto de registro? Sí, pero el conjunto de registros también se basa en su cursor. Esto todavía no responde la pregunta de qué es el cursor, así que veamos primero un conjunto de registros, como se muestra en la Tabla 8-2:
Au_id
Au_lname
Au_fname
TELÉFONO
172-32-1176
Blanco
Chelín
408 496-7223
219-46-8915
Verde
Marjorie
415 986-7020
238-95-7766
Carson
Cheryl
415 548-7723
267-41-2394
O'Leary
Miguel
408 286-2428
274-80-9391
Derecho
Decano
415 834-2919
341-22-1782
Herrero
Meandro
913 843-0462
Hay seis filas y cuatro columnas aquí. Abra un conjunto de registros, y el registro actual es el primer registro, es decir, el registro de Bob White. ¿Qué usar para identificar el registro actual? Use el puntero de registro actual. Entonces, ¿cómo lidiar con este puntero? Cuando es necesario pasar al siguiente registro u otro registro, se logra a través del cursor. Al acceder al campo de la fila actual, el cursor sabe qué fila se encuentra actualmente, por lo que puede devolver el valor correcto. Si intenta salir de la última fila del conjunto de registros, el cursor también lo procesará.
Una buena manera de comprender un cursor es imaginar el cursor como una ventana que se puede mover dentro del conjunto de registros. Esta ventana es tan alta y larga como una sola fila en el conjunto de registros, por lo que solo puede ver una fila de valores de datos a la vez. Cuando te mueves a otro registro, la ventana avanza.
Tal vez creas que esto es bastante simple, pero sí importa porque lo que puedes hacer con un cursor está determinado por el tipo de cursor.
Compartir: Rutina: use ASP para determinar si la dirección del archivo es válida El siguiente es el contenido citado: <% respuesta.write (<head> <style> <!-span {font-size: 9pt}-> </style> </head & g