| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1340 人关注过本帖
标题:实现高级查询
只看楼主 加入收藏
liuran
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2009-3-5
结帖率:57.14%
收藏
已结贴  问题点数:10 回复次数:10 
实现高级查询
有没有一个好的方法实现高级搜索,也就是有多个条件可选择,如果选择其中两个,就按着两个条件查,如果有几个个按几个查!
以前都是写多个IF语句进行判断,但太麻烦,请问有没有更好的方法啊??
搜索更多相关主题的帖子: 查询 高级 
2010-03-26 09:06
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:2 
以前用ASP写过一个多条件搜索,可以选择很多条件一起搜索,不知道楼主想要实现的多条件具体是什么样子的?
2010-03-26 09:09
liuran
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2009-3-5
收藏
得分:0 
也就是在Sql语句中如果用and 连接的话 有不选的项那就查不到啦,如果用or的话那就不精确啦!
2010-03-26 09:13
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
可以让用户自己选择,或者模仿百度或google做搜索宏命令,搜索时对输入的宏命令进行解析。
2010-03-26 09:16
liuran
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2009-3-5
收藏
得分:0 
让用户自己选的话还用一一判断,如条件多的话就更麻烦了!宏命令我不了解
2010-03-26 09:19
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
比如在搜索时输入
abc&def
在换成SQL语句后就变成
select * from table where title like '%abc%' and title like '%def%'
同理
abc|def
select * from table where title like '%abc%' or title like '%def%'
这样的宏命令搜索方式。
2010-03-26 11:07
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:2 
拼sql
2010-03-26 11:13
misswang
Rank: 8Rank: 8
来 自:湖北荆州
等 级:贵宾
威 望:15
帖 子:265
专家分:720
注 册:2010-3-11
收藏
得分:2 
条件多用Swich  Case 来拼Sql

misswp2010@
wangping103@
2010-03-28 17:06
恋雪怜冰
Rank: 1
来 自:苏州
等 级:新手上路
帖 子:84
专家分:2
注 册:2010-3-11
收藏
得分:2 
不知道这个存储过程对你有没有用  不过可以根据多个条件查询,写sql时可以在sql中调用存储过程
create proc proc_selectFromWhere
@strWhere varchar(500)
as
declare @strSql varchar(1000)
set @strSql=
'select * from product'+@strWhere
exec(@strSql)
go

exec proc_selectFromWhere @strWhere=''--当下拉框为所有时
exec proc_selectFromWhere @strWhere=' where title like ''%结%'''--当下拉框根据标题时
exec proc_selectFromWhere @strWhere=' where product like ''%一%'''--当下拉框根据产品时
--用两个单引号,因为存储过程的字符串识别必须是两个单引号
2010-03-29 15:03
_admin
Rank: 1
等 级:等待验证会员
帖 子:2
专家分:2
注 册:2010-3-22
收藏
得分:2 
用存储过程
like 查询 遇到些特殊符号比如‘ % 就会报错
建议使用 charindex 串接
2010-04-02 08:56
快速回复:实现高级查询
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091731 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved