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

爱玩的张总

爱玩的张总

2016-01-29 17:34

最简洁的多重查询的解决方案,最简洁的多重查询的解决方案
  多重查询的解决方案
关键词: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),我们可以想象,需要多少判断的一个接一个的语句!
 
展开更多 50%)
分享

猜你喜欢

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

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

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

Web开发
ASP简洁的多重查询的解决方案

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Sql server 2000 jdbc 查询分页解决方案

编程语言 网络编程
Sql server 2000 jdbc 查询分页解决方案

关于SQL Server SQL语句查询分页数据的解决方案

SQLServer
关于SQL Server SQL语句查询分页数据的解决方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

惠普IDERAID解决方案

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
惠普IDERAID解决方案

ajax后退解决方案

Web开发
ajax后退解决方案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

内核操作Linux2.6内核驱动移植参考

内核操作Linux2.6内核驱动移植参考

1栏分页显示(附显示的形式[1][2])

1栏分页显示(附显示的形式[1][2])
下拉加载更多内容 ↓