| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1109 人关注过本帖
标题:利用模糊查询的问题,各位请教下!
只看楼主 加入收藏
zhangyan297
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-2
收藏
 问题点数:0 回复次数:3 
利用模糊查询的问题,各位请教下!
我最近项目里添加了一个模糊查询的功能,就是搜索关键字,然后查询出数据
public void selectbykeyword(String keyword){
String sql="select * from where name like ? or sex like ? or type like ? ......";
.....
....
....
pstmt.setString(1,"%"+keyword+"%");
pstmt.setString(2,"%"+keyword+"%");
pstmt.setString(3,"%"+keyword+"%");
..................................
...................................
pstmt.executeQuery();
System.out.print(keyword); //这个参数是从Servlet中获取的,而且在Tomcat中也能获取到参数
关键就在这里,我获取的参数,但是传到SQL语句就查询不到,页面中没有数据,

我用查询分析器用上面的SQL语句,可以查询到,但是也有问题
比如我查询用户表中的姓名
其中有个姓名叫 美女,那么,我的语句是
select * from where name like '美女'//这个就能查询到
select * from where name like '美'  //这个就不能查询到

难道关键字不是这样的?请各位请教下,我想了通宵都搞不定

}
搜索更多相关主题的帖子: keyword pstmt 模糊 setString 
2008-04-14 23:11
xinzheng
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-7-22
收藏
得分:0 
select * from where name like '美%'
2008-04-16 08:54
luyihuaa5201
Rank: 2
等 级:论坛游民
帖 子:254
专家分:10
注 册:2007-3-25
收藏
得分:0 
select * from where name like '%美%'  像这样不管美是在名字中的哪个位置都能查询出来~~
2008-04-17 16:07
lff642
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-11-28
收藏
得分:0 
你可以使用存储过程来解决
create procedure up_likesel
@name varchar(20),
@sex varchar(2),
@type varchar(20)
as
begin
  declare @sqlstr varchar(8000)
  set @sqlstr = 'select * from tb where 1 = 1'
 if @name is not null --传入一个@NAME
   set @sqlstr = @sqlstr+'name like '+@name
 if @sex is not null
   set @sqlstr = @sqlstr+'sex like '+@sex
 is @type is not null
   set @sqlstr = @sqlstr+'type like '+@type
    exec(@sqlstr)
end
go
2008-04-25 16:43
快速回复:利用模糊查询的问题,各位请教下!
数据加载中...
 
   



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

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