ASP下实现多条件模糊查询SQL语句_.docx

上传人:PIYPING 文档编号:11645668 上传时间:2021-08-27 格式:DOCX 页数:4 大小:12.91KB
返回 下载 相关 举报
ASP下实现多条件模糊查询SQL语句_.docx_第1页
第1页 / 共4页
ASP下实现多条件模糊查询SQL语句_.docx_第2页
第2页 / 共4页
ASP下实现多条件模糊查询SQL语句_.docx_第3页
第3页 / 共4页
ASP下实现多条件模糊查询SQL语句_.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《ASP下实现多条件模糊查询SQL语句_.docx》由会员分享,可在线阅读,更多相关《ASP下实现多条件模糊查询SQL语句_.docx(4页珍藏版)》请在三一文库上搜索。

1、ASP下实现多条件模糊查询SQL语句_ 许多网友问到如何写模糊查询语句和多条件查询,今日网友小爱又问起了这个问题,刚好前几天给一个单位写个OA涉及到多条件模糊查询,那个查询比较多、专业名词也多,这里我整理了一下,假设以姓名、性别、电话号.作为数据库中的字段名。 通常写一个简洁的模糊查询的SQL语句格式可以如下例: sql=select * from 表名 where 字段名 like % request.form(恳求变量) % 说明:1、WHERE 关键词的后面跟着用来过滤数据的条件,百分号%是通配符,可以代表多个任何字符,若是下划线_就代表一个任意字符。 实例如下: sql=select

2、* from 表名 where 姓名 like %request.form(name)% and 性别 like %request.form(sex)% and 电话 like %request.form(call)% 上面这条SQL语句用法了三个模糊查询条件:姓名、性别、电话,当然我们还可以用类似 姓名 like %request.form(name)% 的方式构造更多的条件。这样我们就实现了多条件的模糊查询,实际试一试,问题出来了!假如数据库的查询字段都有值的化没问题,但假如是下边这样: 姓名 性别 电话 .DeepT87654321 当你模糊查询:电话:5432时将无法输出该记录,这是由

3、于性别无值所以经两个and运算后结果为false/0,没有输出。 明显数据库中这三个字段的必需含有字段值,否则会漏掉正确的输出结果, 数据库中正确的输入应是这样的: 姓名性别电话 .DeepT null 87654321 null值的规律值为1,所以经两次and运算后结果为true/1,可以输出上述记录。 那么在实际中如何来实现这样的多条件模糊查询呢?我是这样来实现的: name=Request.QueryString(name) 姓名 sex=Request.QueryString(sex) 性别 call=Request.QueryString(call) 电话 Sql= Select *

4、 from 表名 where 1=11=1 避开全部查询字段为空时出错 if name then Sql= Sql and 姓名 like % name % end if if sex then Sql= Sql and 性别 = sex 这个不是模糊查询了 end if if call then Sql= Sql and 电话 like % call % end if . 在此,你要留意到姓名、性别、电话这三个字段在数据库中的类型应为“文本”类型,否则查询时会消失“数据类型不匹配”错误。 假如三个条件均无输入,点击“查询”时将显示数据库中的全部记录,可能这是你不盼望的,可以应当加入一个推断:

5、当三个条件均无输入时,显示“请输入查询条件”,并中断输出到客户扫瞄器(response.end)例句如下: if request.form(name)= and request.form(sex)= and request.form(call)= then response.write(请输入查询条件(可模糊查询) response.end end if 切记:sql=select * from 表名 where 姓名 . 电话 like . 必需在一行内输入完,而不能用回车符分段,由于vbs多行被认为是多个语句,这是很多初写者常犯的错误。假如你想分多段写,可以用上面的方法在现有变量基础上逐步增加查询语句的各个组成部分并把它存在同一变量内实现。在封闭引号之前或者在打开引号之后你需要增加空格,这样才能保证字符串连接起来的时候你没有把几个词凑到了一块。 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1