请教下java中sql模糊查询

我想把sql="selectid,title,author,contentfromnotewheretitlelike'%?%'orauthorlike'%?%'orco... 我想把sql = "select id,title,author,content from note where title like '%?%' or author like '%?%' or content like '%?%' " ;
中的?替代为keyword,keyword是从文本框里读取出来的String,请问这样写为什么不可以呢...
pstmt.setString(1,keyword) ;
pstmt.setString(2,keyword) ;
pstmt.setString(3,keyword) ;
完整的语句这样可以运行
select id,title,author,content from note where title like '%hello%' or author like '%hello%' or content like '%hello%'
展开
 我来答
健康生活小PP
2013-03-22 · TA获得超过930个赞
知道小有建树答主
回答量:1217
采纳率:33%
帮助的人:424万
展开全部
因为?替代的是整个参数 不是单纯的字符串 你写成%?%是不可识别的
必须把你传递的参数改成“%”+keyword+"%"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1a812615e
2013-03-22 · TA获得超过1146个赞
知道小有建树答主
回答量:739
采纳率:66%
帮助的人:413万
展开全部
sql = "select id,title,author,content from note where title like ? or author like ? or content like ? " ;

pstmt.setString(1,'%' + keyword + '%') ;
pstmt.setString(2,'%' + keyword + '%') ;
pstmt.setString(3,'%' + keyword + '%') ;
更多追问追答
追问
也还是不行额,最开始写的时候没注意单引号,现在通配符左右加上单引号,也还是不行,你这样写的查询不到结果...
追答
数据库里面有数据吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happy2012zjh
2013-03-22 · TA获得超过273个赞
知道小有建树答主
回答量:1197
采纳率:100%
帮助的人:511万
展开全部
这种查询方式说实话我还是第一次碰到,以前也没有注意到这块
一般我们用模糊查查询不用?这种方式,这种方式一般在插入数据的时候或者修改数据的时候用的比较多,既然你问道我了这个问题,我也就是学习学习,我帮查查看
追问
JSP中搜索关键字要用到的模糊查询.....
追答
我知道要用模糊查询,但一般我们直接这样的,首先判断这个字段是否为空,
如果不为空:
if(!StringUtil.isNvl(user_name)){
sb.append(" and user_name like '%"+user_name+"%'");
}
把这个sb转给condition
在dao里面
sb.append("select No,USER_ID,USER_NAME,DEPTCODE,BIRTH,SEX,POLITICAL_LANDSCAPE,EDUCATION,TEL,POSITION," +
"ORGANIZATION,CHANGE_DATE,UPDATE_TYPE,DATESOURCE,UPDATE_DATE,state from JCRY_SUPERVISORYPERSONNEL ");
sb.append(" where 1=1 ");
if (!StringUtil.isNvl(condition)) {
sb.append(condition);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式