우리는 종종 여러 쿼리 문제를 겪고 있으며 긴 SQL 문은 종종 사람들을 혼란스럽게 느끼게합니다. 특히 클라이언트가 쿼리 조건에서 부분적으로 채워지면 일반적인 방법을 사용하기가 더 어렵습니다.
다음은이 문제를 해결하기 위해 where 1 = 1 (실제로 그 가치가 사실이되도록)의 지속적인 형성을 영리하게 사용합니다.
요약:
'주제 정보 제목
'회사 출판 정보 회사 이름
'콘텐츠 게시 정보 컨텐츠
'주소 회사 주소
'Infomation 소개
'관련 지침
위의 값은 양식별로 제출 된 다음 통과합니다 (대상 = trim) (request.form (subject)) 등이 해당 값을 얻습니다.
<%
'이 기능은 중요합니다!
함수 SQL (A, B, SQL)
B <> 인 경우 '클라이언트 가이 값을 제출하지 않으면 해당 SQL 문이 생성되지 않습니다.
SQLS = SQLS & & & A & LIKE ' % & B & %'
끝 If
SQL = SQL
엔드 기능
'------------------ 데이터베이스에 전화하십시오
set conn = server.createobject (adodb.connection)
dbpath = server.mappath (/database/mydb.mdb)
CONN.OPEN DRIVER = {Microsoft Access Driver (*.mdb)};
set rs = server.createobject (adodb.oldset)
sqls = select *에서 mytable에서 1 = 1
'다음 호출은 위에서 호출 할 수 있으며 많은 전화가 호출 될 수 있습니다 (이론적으로 임의로)
SQLS = SQL (주제, 주제, SQL)
SQLS = SQL (회사, 회사, SQL)
SQLS = SQL (컨텐츠, 컨텐츠, SQL)
SQLS = SQL (주소, 주소, SQL)
SQLS = SQL (Infomation, Infomation, SQL)
SQLS = SQL (참고, 참고, SQL)
SQLS = SQLS 및 ID DESC의 주문
Rs.OOPEN SQLS, CONN, 3,2
%>
결론 : 키 기능 함수 SQL (a, b, sqls)이 없다면, 우리는 얼마나 많은 판단이 서로 판단 해야하는지 상상할 수 있습니다!