最简洁的多重查询的解决方案
时间:2008-03-02 15:51:00
我们经常会遇到多重查询问题,而长长的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),我们可以想象,需要多少判断的一个接一个的语句!
标签:sql,查询,数据库
0
投稿
猜你喜欢
Excel VBA连接并操作Oracle
2009-08-08 22:58:00
pandas中的ExcelWriter和ExcelFile的实现方法
2023-09-20 00:10:36
用python生成一张壁纸实例代码
2022-06-06 10:26:51
PHP+jQuery+Ajax实现多图片上传效果
2024-05-22 10:05:59
Python入门开发教程 windows下搭建开发环境vscode的步骤详解
2022-04-29 00:56:55
浅谈django中的认证与登录
2023-02-22 18:18:03
Python多进程写入同一文件的方法
2023-09-08 10:20:24
python3.0 模拟用户登录,三次错误锁定的实例
2022-07-23 01:35:48
mysql-8.0.15-winx64 使用zip包进行安装及服务启动后立即关闭问题
2024-01-23 05:58:37
使用Python第三方库pygame写个贪吃蛇小游戏
2021-05-19 11:08:37
一篇文章搞懂Python反斜杠的相关问题
2021-11-26 17:45:19
HTML5 第二份草案发布
2008-06-17 17:42:00
Python绘制词云图之可视化神器pyecharts的方法
2022-12-08 14:38:44
tkinter使用js的canvas实现渐变色
2024-02-24 20:46:47
PHP获取特殊时间戳的方法整理
2023-05-25 00:47:36
.Net Core SDK命令介绍及使用
2024-05-13 09:16:00
查询SQLServer启动时间的三种方法
2024-01-15 18:15:42
Django如何实现RBAC权限管理
2021-05-20 19:14:27
Navicat For MySQL的简单使用教程
2024-01-17 12:22:02
javascript异步处理工作机制详解
2024-04-10 13:58:36