多重查詢的解決方案

2022-04-05 03:12:49 字數 1149 閱讀 8528

我們經常會遇到多重查詢問題,而長長的sql語句往往讓人丈二和尚摸不著頭腦。特別是客戶端部分填入查詢條件時,如用普通方法將更是難上加難。

以下巧妙地利用"where 1=1"的恒等式(事實上很多,讓它值為true即可)解決此問題。

正文概要

'subject 資訊標題

'company 發布資訊的公司名稱

'content 發布資訊的內容

'address 公司位址

'infomation 公司簡介

'note 相關說明

以上值均由form提交,然後通過:subject=trim(request.form("subject"))等得到相應的值。

'這個函式很關鍵!---------------------------

function sql(a,b,sqls)

if b<>"" then '如果客戶端沒有提交此值,則不會產生相應的sql語句。

sqls=sqls & " and " & a & " like '%" & b & "%'"

end if

sql=sqls

end function

'-----------------呼叫資料庫

set conn=server.createobject("adodb.connection")

conn.open "driver=;pwd=;dbq=" & dbpath

set rs=server.createobject("adodb.recordset")

sqls="select * from mytable where 1=1 "

'以下呼叫上面的函式即可,可以很多個呼叫(理論上是任意)

sqls=sql("subject",subject,sqls)

sqls=sql("company",company,sqls)

sqls=sql("content",content,sqls)

sqls=sql("address",address,sqls)

sqls=sql("infomation",infomation,sqls)

sqls=sql("note",note,sqls)

sqls=sqls & " order by id desc"

rs.open sqls,conn,3,2

最簡潔的多重查詢的解決方案

前言 我們經常會遇到多重查詢問題,而長長的sql語句往往讓人丈二和尚摸不著頭腦。特別是客戶端部分填入查詢條件時,如用普通方法將更是難上加難。以下巧妙地利用 where 1 1 的恒等式 事實上很多,讓它值為true即可 解決此問題。正文概要 subject 資訊標題 company 發布資訊的公司名...

ASP實現最簡潔的多重查詢的解決方案

這個函式很關鍵 function sql a,b,sqls if b then 如果客戶端沒有提交此值,則不會產生相應的sql語句。sqls sqls and a like b end if sql sqls end function 呼叫資料庫 set conn server.createobje...

asp下最簡潔的多重查詢的解決方案

最簡潔的多重查詢的解決方案 前言 我們經常會遇到多重查詢問題,而長長的sql語句往往讓人丈二和尚摸不著頭腦。特別是客戶端部分填入查詢條件時,如用普通方法將更是難上加難。以下巧妙地利用 where 1 1 的恒等式 事實上很多,讓它值為true即可 解決此問題。正文概要 subject 資訊標題 co...