Recomendado: use SQL-DMO para crear aplicaciones ASP de copia de seguridad y verificación Descripción general Los objetos de administración distribuidos SQL (SQL-DMO) proporcionan a los desarrolladores métodos para realizar tareas ordinarias utilizando el programa y los lenguajes de secuencias de comandos, extendiendo así la funcionalidad de SQL Server. Este artículo habla sobre cómo usar inteligentemente SQL-DMO para crear
1. Seleccione la declaración
En el mundo de SQL, la operación más básica es la declaración selecta. Al usar SQL directamente en la herramienta de base de datos, muchas personas estarán familiarizadas con las siguientes operaciones:
| El siguiente es el contenido citado: Seleccione qué De lo cual Donde criterios |
Ejecución de la declaración anterior creará una consulta que almacena sus resultados.
En los archivos de página ASP, también puede usar la sintaxis general anterior, pero la situación es ligeramente diferente. Al programar ASP, el contenido de la instrucción SELECT debe asignarse a una variable como una cadena:
| El siguiente es el contenido citado: SQL = Seleccione qué de qué criterios |
De acuerdo, entiendo cómo SQL habla bajo ASP y luego lo hago de la misma manera. Mientras satisfaga sus necesidades, el modo tradicional de consulta SQL y la consulta condicional pueden ser útiles.
Por ejemplo, también puede suponer que hay una tabla de datos en su base de datos, a saber, los productos, y ahora desea recuperar todos los registros en esta tabla. Luego escribiste el siguiente código:
| El siguiente es el contenido citado: Sql = select * de productos |
La función de la declaración de código SQL anterior es recuperar todos los datos en la tabla. Después de la ejecución, se seleccionarán todos los registros en la tabla de datos. Sin embargo, si solo desea eliminar una columna específica de la tabla, como P_name. Entonces no puedes usar el * carácter comodín. Debe escribir el nombre de una columna específica, y el código es el siguiente:
| El siguiente es el contenido citado: Sql = seleccionar p_name de productos |
Después de ejecutar la consulta anterior, se seleccionarán todos los contenidos en la tabla de productos y la columna P_Name.
2. Establezca condiciones de consulta para la cláusula Where Where
Por ejemplo, si solo planea sacar los registros P_Name, y los nombres de estos registros deben iniciarse con la letra W, entonces debe usar la siguiente cláusula WHERE:
| El siguiente es el contenido citado: SQL = Seleccione P_Name de productos donde P_Name como 'W%' |
La palabra clave donde es seguida por las condiciones utilizadas para filtrar datos. Con la ayuda de estas condiciones, solo se consultarán datos que cumplan con ciertos estándares. En el ejemplo anterior, el resultado de la consulta solo obtendrá un registro P_Name con el nombre que comienza con w.
En el ejemplo anterior, el símbolo porcentual (%) significa que la consulta devuelve todas las entradas de registro que comienzan con letras W y son seguidos por cualquier dato o incluso sin datos. Por lo tanto, al ejecutar la consulta anterior, West y Willow se seleccionarán de la tabla de productos y se almacenará en la consulta.
Como puede ver, solo diseñe cuidadosamente la declaración de selección, puede limitar la cantidad de información devuelta en el conjunto de registros y pensar que siempre cumplirá con sus requisitos.
Estos son solo el comienzo de dominar el uso de SQL. Para ayudarlo a dominar gradualmente el uso de declaraciones selectas complejas, echemos un vistazo a los términos estándar clave: operadores de comparación. Estas cosas a menudo se usan cuando construye sus propias cadenas selectas para obtener datos específicos.
Donde los conceptos básicos de la cláusula
Cuando comienzas a crear una cláusula WHERE, la forma más fácil es usar símbolos de comparación estándar, que son <, <=,>,> =, <> y =. Obviamente, pronto comprenderá el significado y los resultados específicos del siguiente código:
| El siguiente es el contenido citado: Seleccione * de productos donde P_Price> = 199.95 Seleccione * de productos donde P_Price <> 19.95 Seleccione * de productos donde p_version = '4' |
Nota: Aquí notará que el número 4 en el último ejemplo está rodeado de citas individuales. La razón es que en este ejemplo, 4 es un tipo de texto en lugar de un tipo numérico.
3. Operadores de comparación: como, no como y entre
El operador de comparación especifica el rango de contenido para el cual se recuperan los datos de la tabla. Puede usarlos para crear filtros para reducir el alcance del conjunto de registros, lo que hace que guarde solo la información que le importa bajo una tarea determinada.
Has visto el uso de como en el ejemplo donde sacaste el registro de encabezado de W arriba. El determinante similar es un símbolo muy útil. Sin embargo, en muchos casos, usarlo puede brindarle demasiados datos, por lo que es mejor usar su cerebro y pensar más sobre los datos que desea obtener antes de usarlo. Supongamos que desea sacar el número de SKU de 5 dígitos, y su comienzo es 1 y el final es 5, entonces puede usar el bajo (_) en lugar del símbolo %:
Sql = select * de productos donde p_sku me gusta '1___5'
El subrayado representa cualquier personaje. Entonces, cuando ingrese 1___5, su búsqueda se limitará al rango de 5 dígitos que satisface un modo específico.
Si desea hacer lo contrario, descubra todas las entradas SKU que no coincidan con el modo 1___5. Entonces solo necesita agregar no al mismo sentido en el ejemplo de la declaración en este momento.
ENTRE
Supongamos que desea extraer datos dentro de un cierto rango y conoce el punto de partida y el punto final del rango por adelantado, entonces también podría usar la palabra entre el juicio. Ahora supongamos que desea seleccionar registros con un rango entre 1 y 10 en una tabla determinada. Puede usar entre las siguientes:
... donde identifica entre 1 y 10
O puede usar oraciones familiares de juicio matemático:
... donde id> = 1 y id> = 10
4. Declaración conjunta
Las declaraciones SQL de las que hemos hablado hasta ahora son relativamente simples. Si pueden aprobar la consulta de bucle de registro estándar, entonces estas declaraciones también pueden cumplir con algunos requisitos más complejos. Sin embargo, ¿por qué tienes que cumplir con el nivel básico de solo probarlo? Puede agregar algunos otros símbolos, como y, o no, para completar funciones más poderosas.
La siguiente instrucción SQL es un ejemplo:
| El siguiente es el contenido citado: Sql = seleccione c_firstname, c_lastname, c_email de clientes donde c_email no es nulo y c_purchase = '1' o c_purchase = '2' y c_lastname como 'a%' |
Con el conocimiento SQL que tiene actualmente, los ejemplos anteriores no son difíciles de explicar, pero la declaración anterior no le permite ver cómo ver cómo las oraciones condicionales se pegan en una sola declaración SQL.
Declaraciones de múltiples líneas
Si las declaraciones SQL no son fáciles de entender, también puede descomponer toda la declaración en múltiples líneas de código, y luego agregar gradualmente los diversos componentes de la instrucción de consulta en función de las variables existentes y almacenarla en la misma variable:
| El siguiente es el contenido citado: Sql = seleccione C_FirstName, C_LastName, C_EMailaddress, C_Phone SQL = SQL y de los clientes Sql = sql y donde c_firstname como 'a%' y c_emailaddress no nulo Sql = sql & orden por c_lastname, c_firstname |
Por la última oración, la variable SQL contiene la siguiente declaración de selección completa:
| El siguiente es el contenido citado: Seleccione C_FirstName, C_LastName, C_EMailaddress, C_Phone de los clientes donde c_firstname como 'a%' y c_emailaddress no hay pedido nulo de c_lastname, c_firstname |
Después de descomponer toda la oración anterior, ¡obviamente es más fácil de leer! Al depurar, puede estar más dispuesto a escribir algunos caracteres más para cambiar el programa y leerlo mejor. Pero debe recordar que necesita agregar espacios antes de cerrar citas o después de abrir citas, para que no junte algunas palabras cuando la cadena está conectada.
5. Iniciar ejecución
Después de aprender la construcción y el uso de declaraciones seleccionadas, es hora de aprender a usarlas. Según las herramientas de la base de datos que tiene, esto puede significar que debe presionar un botón con la palabra "Ejecución". En una página web ASP, las declaraciones SQL se pueden ejecutar de inmediato o se pueden llamar como procedimiento almacenado.
Una vez que se crea la instrucción SQL, también debe intentar acceder a sus resultados de consulta. Obviamente, la clave aquí es ASP Recordset. Para aprovechar al máximo sus habilidades SQL con las que está más familiarizado, debe ajustar los conjuntos de registros que se usan más comúnmente en las páginas web ASP regulares:
| El siguiente es el contenido citado: Dim RS Establecer rs = server.createObject (ADODB.RecordSet) Rs.open SQL, Conn, 1,2 |
Aquí Conn es la declaración de conexión de la base de datos, y la única modificación es utilizar una variable que contiene la instrucción SQL para reemplazar el nombre de la tabla de datos a consultar.
Una de las ventajas de este enfoque es que puede especificar el tipo de cursor (como se muestra en 1 y 2 arriba).
Ejecutar SQL
También puede crear registros de registros utilizando una línea de código compacta para ejecutar declaraciones SQL. La siguiente es la sintaxis:
Dim RS
establecer rs = conn.execute (SQL)
En el ejemplo anterior, el SQL que ve es una variable que almacena su propia declaración SQL Select. Esta línea de código ejecuta las declaraciones SQL (o consulta la base de datos), selecciona datos y almacena los datos en Registro, en el ejemplo anterior, la variable Rs. La principal desventaja de este enfoque es que no puede elegir el tipo de cursor que desea usar. En cambio, RecordSet siempre se abre con un cursor hacia adelante.
Debido a los cursores, puede estar familiarizado con dos formas de crear registros. La ejecución de la consulta guarda directamente el tiempo dedicado a escribir caracteres, pero en ese caso debe usar el cursor predeterminado, que a menudo puede no funcionar normalmente. No importa qué método use, la mayor diferencia entre los dos no es más que si el código está refinado o no. Sin considerar qué campos obtiene o cuáles son sus estándares, e independientemente de cómo almacene los datos, usar el conjunto de registros de estilo SQL será mucho más pequeño que el conjunto de registros estándar abierto en ASP, sin mencionar la facilidad de operación. Después de todo, al filtrar datos, elimina las pruebas IF-Then que requieren mucho tiempo y posibles bucles.
6. Consulta de la tienda
Cuando su consulta es relativamente simple, no se necesita mucho esfuerzo para crear declaraciones SQL desde cero cada vez. Sin embargo, las consultas complejas son diferentes. Cada vez que comience desde cero, generará muchos errores de desarrollo. Entonces, una vez que SQL se ejecuta sin problemas, es mejor que los guardes y llámelos si es necesario. De esta manera, incluso una consulta simple se puede usar para almacenar la declaración de consulta en cualquier momento.
Suponga que debe informar a su equipo una vez por semana para indicar los problemas de soporte comercial actuales, que deben seleccionarse de su base de datos, y los registros deben seleccionarse por fecha y ordenarse de acuerdo con la categoría de problemas de soporte que está utilizando. Una vez que haya diseñado esta consulta, ¿por qué tiene que reescribirla una vez por semana después? No cree consultas en su página HTML, debe crear consultas con las herramientas de su base de datos y guardarlas. Luego puede usar la propiedad ActiveCommand para insertar la consulta en su página ASP. Puede encontrarlo sin sentido en la primera o dos, pero de hecho es solo unas pocas líneas de código:
| El siguiente es el contenido citado: Establecer objsq = server.createObject (ADODB.COMMAND) objsq.activeconnection = dataBAsename objsq.commandText = storedQueryName objsq.commandtype = adcmdstoredproc Establecer objRec = objsq.Execute |
Tenga en cuenta que usar ADCMDStoredProc significa que ha incluido el archivo Adovbs.inc en la página. Este archivo define las constantes de acceso a las que puede acceder por su nombre en lugar de por número. Solo incluya el archivo en la página), y luego puede usar ADCMDStoredProc. De esta manera, será más fácil entender lo que significa la consulta almacenada anterior cuando la vea en el futuro.
7. Orden por
Seleccione las cosas más desagradables de la base de datos de acceso, y se ingresan en la base de datos en el orden en que se ingresan. Incluso si usa SAT en el entorno de acceso para cambiar la vista de registro, el orden de los registros en la tabla de datos no ha cambiado.
Si está utilizando ASP RecordSet para escribir registros en una página web, entonces puede saber qué tan doloroso es ponerse en el desastre. Pero es posible que tenga que enfrentar este problema a menudo porque no hay una solución simple y conveniente. Afortunadamente, el pedido puede simplificar este problema.
Para ordenar sus resultados, simplemente agregue el pedido al final de la instrucción Seleccionar y especifique la columna de referencia que debe ordenar. Entonces, si desea ordenar la tabla de clientes por el apellido del cliente, puede escribir la siguiente declaración de consulta:
Sql = seleccionar c_lastname, c_firstname, c_email desde los clientes pedidos por c_lastname
De esta manera, siempre que cree un conjunto de registros y comience a escribir los resultados en la pantalla, verá que los datos están organizados alfabéticamente.
Las siguientes son las operaciones en la tabla:
Solo copie la estructura de la Tabla A a la Tabla B (sin datos de copia)
| El siguiente es el contenido citado: sql = seleccionar * en B desde A donde 1 <> 1 sql = seleccionar * en B desde A donde 1 = 0 |
Copie la estructura y los datos de la Tabla A a la Tabla B
| El siguiente es el contenido citado: sql = seleccionar * en B de A |
Compartir: programación avanzada ASP 3.0 (45) La ejecución asincrónica se refiere a la recuperación de datos en segundo plano, y los datos que ha obtenido se pueden usar en la página web antes de que se devuelvan todos los datos. Aunque pueden ser necesarios todos los datos, el trabajo asincrónico puede comenzar a procesar datos al menos de antemano. También puede permitir a los usuarios ver cierto contenido primero, lo que hace que el sitio web