A menudo encontramos múltiples problemas de consulta, y las largas declaraciones de SQL a menudo hacen que las personas se sientan confundidas. Especialmente cuando el cliente se llena parcialmente en las condiciones de consulta, será más difícil usar métodos ordinarios.
El siguiente usa hábilmente la formación constante de donde 1 = 1 (de hecho, de modo que su valor sea verdadero) para resolver este problema.
Resumen:
'Título de la información del tema
'Información publicada de la compañía Nombre de la Compañía
'Contenido Publicando información Contenido
'Dirección de la empresa
Introducción a 'Infomación
'Nota Instrucciones relacionadas con
Los valores anteriores se envían mediante el formulario y luego se aproban: SUTM = TRIM (request.form (sujeto)), etc. para obtener el valor correspondiente.
<%
'¡Esta función es crítica!
Función SQL (A, B, SQLS)
Si b <> entonces 'si el cliente no envía este valor, no se generará la instrucción SQL correspondiente.
sqls = sqls & y & a & like ' % & b & %'
final si
Sql = sqls
Función final
'----------------- Llame a la base de datos
Establecer conn = server.createObject (ADODB.Connection)
Dbpath = server.mappath (/database/mydb.mdb)
Conn.open Driver = {Microsoft Access Driver (*.mdb)};
Establecer RS = Server.CreateObject (ADODB.oldset)
sqls = select * de mytable donde 1 = 1
'Las siguientes llamadas se pueden llamar anteriormente, y se pueden llamar muchas llamadas (teóricamente arbitrariamente)
Sqls = sql (sujeto, sujeto, sqls)
SQLS = SQL (Compañía, Compañía, SQLS)
SQLS = SQL (Contenido, Contenido, SQLS)
SQLS = SQL (dirección, dirección, SQLS)
SQLS = SQL (Infomation, Infomation, SQLS)
sqls = sql (nota, nota, sqls)
Sqls = sqls y ordenar por identificación DESC
Rs.oopen SQLS, Conn, 3,2
%>
Conclusión: si no hay función clave de la función SQL (A, B, SQLS), ¡podemos imaginar cuántos juicios deben juzgar uno tras otro!