Мы часто сталкиваемся с несколькими проблемами запроса, и длинные заявления SQL часто заставляют людей чувствовать себя смущенными. Особенно, когда клиент частично заполняется в условиях запроса, будет сложнее использовать обычные методы.
Следующее умно использует постоянное образование, где 1 = 1 (фактически, так что его значение верно) для решения этой проблемы.
Краткое содержание:
'Название информации о предмете
'Компания опубликовала имя информационной компании
'Контент публикации информационный контент
Адрес адрес компании
Введение в инфомацию
'Примечание связанных с инструкциями
Приведенные выше значения отправляются по форме, а затем передаются: субъект = trim (request.form (субъект)) и т. Д. Для получения соответствующего значения.
<%
«Эта функция имеет решающее значение!
Функция SQL (A, B, SQLS)
Если B <>, то если клиент не отправляет это значение, соответствующий оператор SQL не будет генерироваться.
sqls = sqls & & a & like ' % & b & %'
конец, если
SQL = SQLS
Конечная функция
'----------------- Позвоните в базу данных
Установить conn = server.createObject (adodb.connection)
Dbpath = server.mappath (/database/mydb.mdb)
Conn.Open Driver = {Microsoft Access Driver (*.mdb)};
Установить rs = server.createObject (adodb.oldset)
SQLS = SELECT * из Mytable, где 1 = 1
«Следующие вызовы можно назвать выше, и можно назвать много вызовов (теоретически произвольно)
SQLS = SQL (субъект, субъект, SQLS)
SQLS = SQL (компания, компания, SQLS)
SQLS = SQL (Контент, Контент, SQLS)
SQLS = SQL (адрес, адрес, SQLS)
SQLS = SQL (Infomation, Infomation, SQLS)
SQLS = SQL (примечание, примечание, SQLS)
Sqls = sqls & order by id desc
Rs.oopen SQLS, Conn, 3,2
%>
Вывод: если нет ключевой функции функции SQL (A, B, SQLS), мы можем представить, сколько суждений нужно судить один за другим!