JSP连接MySql数据库进行查询时出的问题

sql="selectempno,ename,job,hiredate,sal,commfromempwhereempnolike?orenamelike?or"+"jo... sql = "select empno,ename,job,hiredate,sal,comm from emp where empno like ? or ename like ? or " +
"job like ? or hiredate LIKE ? OR sal LIKE ? OR comm LIKE ? limit ?,?";
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,"%"+keyWord+"%") ;
pstmt.setString(2,"%"+keyWord+"%") ;
pstmt.setString(3,"%"+keyWord+"%") ;
pstmt.setString(4,"%"+keyWord+"%") ;
pstmt.setString(5,"%"+keyWord+"%") ;
pstmt.setString(6,"%"+keyWord+"%") ;
pstmt.setInt(7,(currentPage-1) * lineSize) ;
pstmt.setInt(8,lineSize) ;
rs = pstmt.executeQuery() ;

如上面的代码,可以正常编译运行,但如果查询的是数字,比如empno中的内容或者sal,comm中的内容这时正常运行,如果查询姓名输入汉字,则报错,帮忙看看问题出在哪吧,谢谢~
展开
 我来答
幽冥神者
2013-12-06 · TA获得超过3213个赞
知道大有可为答主
回答量:1953
采纳率:50%
帮助的人:1789万
展开全部
%左右加单引号
左边%的左边,右边%的右边
更多追问追答
追问
好像语法有错误写上去就画波浪线
追答
“‘%” + keyword + "%'"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-06
展开全部
把你拼接后的sql语句放到mysql中执行看看出现什么错误
更多追问追答
追问
如果输入的是数字,比如empno,sal这些的内容都是数字,就没错,输入ename的内容就有错,(一次只会输入一个,模糊查询么,只要有任意一个匹配都能查出来),好像就是因为中文必须加''才能查,但把引号加上还是报错就像这样“‘%” + keyword + "%'"
追答
你在数据库上执行时报的是什么错,把你拼接后的在数据库上执行的语句贴出来吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式