|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。前提|语句吕海鹏
来自:www.DeepTeach.com
择要:这篇文章次要针对有必定asp编程履历和SQL语句基本的喜好者怎样写含混查询语句和多前提查询。
良多网友问到怎样写含混查询语句和多前提查询,明天网友小爱又问起了这个成绩,恰好头几天给一个单元写个OA触及到多前提含混查询,谁人查询对照多、专业名词也多,这里我收拾了一下,假定以姓名、性别、德律风号...作为数据库中的字段名。
一般写一个复杂的含混查询的SQL语句格局能够以下例:
申明:1、WHERE关头词的前面随着用来过滤数据的前提,百分号%是通配符,能够代表多个任何字符,如果下划线_就代表一个恣意字符。
实比方下:
sql="select*from表名where姓名like’%"&request.form("name")&"%’and性别like’%"&request.form("sex")&"%’and德律风like
’%"&request.form("call")&"%’"
下面这条SQL语句利用了三个含混查询前提:姓名、性别、德律风,固然我们还能够用相似
的体例机关更多的前提。如许我们就完成了多前提的含混查询,实践试一试,成绩出来了!!!假如数据库的查询字段都有值的化没成绩,但假如是下边如许:
姓名性别德律风
www.DeepTeach.com87654321
当你含混查询:"德律风:5432"时将没法输入该纪录,这是由于"性别"无值以是经两个and运算后了局为false/0,没有输入。明显数据库中这三个字段的必需含有字段值,不然会遗漏准确的输入了局,
数据库中准确的输出应是如许的:
姓名性别德律风
www.DeepTeach.comnull87654321<null>值的逻辑值为1,以是经两次and运算后了局为true/1,能够输入上述纪录。
<p>那末在实践中怎样来完成如许的多前提含混查询呢?我是如许来完成的:
name=Request.QueryString("name")’姓名
sex=Request.QueryString("sex")’性别
call=Request.QueryString("call")’德律风
Sql="Select*from表名where1=1"’1=1制止一切查询字段为空时堕落
ifname""then
Sql=Sql&"and姓名like’%"&name&"%’"
endif
ifsex""then
Sql=Sql&"and性别=’"&sex&"’"’这个不是含混查询了
endif
ifcall""then
Sql=Sql&"and德律风like’%"&call&"%’"
endif
......
在此,你要注重到姓名、性别、德律风这三个字段在数据库中的范例应为“文本”范例,不然查询时会呈现“数据范例不婚配”毛病。
假如三个前提均无输出,点击“查询”时将显现数据库中的一切纪录,大概这是你不但愿的,能够应当到场一个判别:当三个前提均无输出时,显现“请输出查询前提”,并中止输入到客户扫瞄器(response.end)例句以下:
ifrequest.form("name")=""andrequest.form("sex")=""andrequest.form("call")=""then
response.write("请输出查询前提(可含混查询)")
response.end
endif
牢记:sql="select*from表名where姓名...德律风like..."
必需在一行内输出完,而不克不及用回车符分段,由于vbs多行被以为是多个语句,这是很多初写者常犯的毛病。假如你想分多段写,能够用下面的办法在现有变量基本上慢慢增添查询语句的各个构成部分并把它存在统一变量内完成。在关闭引号之前大概在翻开引号以后你必要增添空格,如许才干包管字符串联接起来的时分你没有把几个词凑到了一块。缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|