佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > asp下最簡潔的多重查詢的解決方案

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

熱門標(biāo)簽:Linux服務(wù)器 團(tuán)購網(wǎng)站 服務(wù)器配置 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 阿里云 電子圍欄
最簡潔的多重查詢的解決方案

[前言]
我們經(jīng)常會(huì)遇到多重查詢問題,而長長的SQL語句往往讓人丈二和尚摸不著頭腦。特別是客戶端部分填入查詢條件時(shí),如用普通方法將更是難上加難。
以下巧妙地利用"where 1=1"的恒等式(事實(shí)上很多,讓它值為TRUE即可)解決此問題。

[正文概要]

'subject 信息標(biāo)題
'company 發(fā)布信息的公司名稱
'content 發(fā)布信息的內(nèi)容
'address 公司地址
'infomation 公司簡介
'note 相關(guān)說明
以上值均由FORM提交,然后通過:subject=trim(Request.Form("subject"))等得到相應(yīng)的值。

%
'這個(gè)函數(shù)很關(guān)鍵!---------------------------
Function sql(a,b,sqls)
if b>"" then '如果客戶端沒有提交此值,則不會(huì)產(chǎn)生相應(yīng)的SQL語句。
sqls=sqls  " and "  a  " like '%"  b  "%'"
end if
sql=sqls
End Function
'-----------------調(diào)用數(shù)據(jù)庫
Set conn=Server.CreateObject("ADODB.Connection")
DBpath=Server.MapPath("/database/mydb.mdb")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=;dbq="  DBpath
Set rs=Server.CreateObject("ADODB.Recordset")
sqls="select * from mytable where 1=1 "
'以下調(diào)用上面的函數(shù)即可,可以很多個(gè)調(diào)用(理論上是任意)
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
%>

[結(jié)束語]
如果沒有關(guān)鍵的函數(shù)Function sql(a,b,sqls),我們可以想象,需要多少判斷的一個(gè)接一個(gè)的語句!

標(biāo)簽:蚌埠 大理 棗莊 衢州 衡水 廣元 萍鄉(xiāng) 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp下最簡潔的多重查詢的解決方案》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    江川县| 临西县| 神池县| 开江县| 汽车| 万年县| 色达县| 嵩明县| 安宁市| 山阴县| 河南省| 兴义市| 榆林市| 黄冈市| 东乌珠穆沁旗| 宝清县| 昌江| 岳池县| 古浪县| 嘉善县| 昭平县| 德阳市| 石首市| 万山特区| 常德市| 鸡东县| 息烽县| 池州市| 海宁市| 建湖县| 苍南县| 富川| 雷山县| 大方县| 冷水江市| 马山县| 营山县| 赤峰市| 育儿| 无为县| 衡山县|