最简洁的多重查询的解决方案

2016-01-29 17:34 2 1 收藏

最简洁的多重查询的解决方案,最简洁的多重查询的解决方案

【 tulaoshi.com - ASP 】

  多重查询的解决方案
关键词:ASP 多重查询

注:本文如需转摘或引用,请与本人联系:“中国印刷市场”网http://www.printmarket.com.cn 朱继山 tozjs@263.net,否则视为侵权。

              [前言]
    我们经常会遇到多重查询问题,而长长的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")
    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 "
'以下调用上面的函数即可,可以很多个调用(理论上是任意)
    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
%

                        [结束语]
    如果没有关键的函数Function sql(a,b,sqls),我们可以想象,需要多少判断的一个接一个的语句!
 

来源:https://www.tulaoshi.com/n/20160129/1501976.html

延伸阅读
标签: ASP
  "ASP 0115"是什么错误? 如果你的ASP报告0115 error,意思是“我不知道是什么原因引起这个错误” 0115 error引起的原因一般是由外部因素引起的。 在下面我列出了一些可能引起报0115 error的东东,并且也提出了一些供参考的解决办法: 1.文件或注册键的权限和证明引起 如果系统授权用户对一些自建组件,系统动态链接库(DLL)...
标签: 皮肤护理
问答 图钉提问: 检查所见:肝脏大小形态正常,包膜光滑,内管纹理走向正常,实质回声分布均匀,门脉主干内径小于12mm,肝内外胆管未见增宽. 胆囊切面大小形态正常,壁毛糙,增厚,约三毫米,于胆囊颈部见一强回声光团,大小约6.4乘3mm,后伴声影,并随体位改变而移动,余囊腔内透声好,内未见局限性异常回声.胆内总管内径大于5mm. 胰腺切面大小正常,胰...
url传递中文的解决方案 1.设置web.config文件。(我不喜欢设置成这样) <system.web ...... <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" / ...... </system.web 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。 进行传递 string Name = ...
随着ADSL宽带接入技术的成熟,各种全新的技术应用已经深入到千家万户,由此引发的故障也随之而来。下面,笔者将维护过程中遇到的几则ADSL宽带经典故障分享给大家,希望能够给ADSL用户一定的帮助。 一、拨号时出现678错误 帮障表现:Windows XP SP2操作系统,ADSL虚拟拨号用户。点击“宽带连接”时出现678错误。...
标签: Web开发
编写思路: 把本地文件在客户端通过base64编码以后发送目的地. 测试过程中,上传文件过大,导致超时不成功. 后来经过改善.把编码分段发送.测试20M成功 编写目的: 在传统的解决方案里面,一次一次选取上传可以.但是在碰到把数据库里文件路径读出来,并把这些文件上传到一个地方的时候就比较麻烦. 如果得到路径一个一个去找到用ftp当然也是可以的,...

经验教程

668

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部