ASP技巧實(shí)例:ASP實(shí)現(xiàn)最簡潔的多重查詢的解決方案_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:10行代碼讓你告別Arp作惡導(dǎo)致的掉線
      一同學(xué)在宿舍是很多人一起上網(wǎng),有不少人用arp作惡,導(dǎo)致上網(wǎng)老是掉線。問我有什么辦法嗎,于是就寫了下面的vbs腳本,同學(xué)說用了后聊天也不掉線了。 以

      我們經(jīng)常會遇到多重查詢問題,而長長的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)的值。

      以下為引用的內(nèi)容:
      <%
      '這個(gè)函數(shù)很關(guān)鍵!---------------------------
      Function sql(a,b,sqls)
      if b<>"" then '如果客戶端沒有提交此值,則不會產(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è)的語句!

      分享:ASP 3.0高級編程(三十四)
      7.4.4 使用IIS錯(cuò)誤頁面 與ASP錯(cuò)誤處理過程相關(guān)的內(nèi)容是為IIS提供可定制的錯(cuò)誤頁面。事實(shí)上,在IIS 4.0中也有這個(gè)特點(diǎn)。但新的ASP內(nèi)置對象ASPError,更易于使用且提供更加強(qiáng)大的功能。 在第4章,

      來源:模板無憂//所屬分類:ASP教程/更新時(shí)間:2008-08-22
      相關(guān)ASP教程