为了账号安全,请及时绑定邮箱和手机立即绑定

sql拼接问题

sql拼接问题

弱水三千123456 2016-09-29 09:52:52
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '_utf8'???€??€???????' '%'' at line 1
查看完整描述

4 回答

?
逆光之羽

TA贡献55条经验 获得超13个赞

sql.append(" and DESCRIPTION like '%' + ? + '%'");

改成这样试试?

查看完整回答
反对 回复 2016-09-29
?
大咪

TA贡献785条经验 获得超332个赞

你sql的语句是什么?就是对应这句的sql

  sql.append(" and DESCRIPTION like '%' ? '%'");


查看完整回答
反对 回复 2016-09-29
?
大咪

TA贡献785条经验 获得超332个赞

.................能否把你的sql语句代码贴出来啊,就这个句'_utf8'???€??€???????' '%''周围的代码截图上来

查看完整回答
反对 回复 2016-09-29
  • 弱水三千123456
    弱水三千123456
    StringBuilder sql = new StringBuilder("select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1"); //多条件查询时,利用List做缓冲,保存查询参数,然后再循环赋值 List<String> paramerList = new ArrayList<String>(); //判断参数是否为空,不为空就拼接字符串 if (command!=null&&!"".equals(command.trim())) { sql.append(" and COMMAND=? "); paramerList.add(command); } if (description!=null&&!"".equals(description.trim())) { sql.append(" and DESCRIPTION like '%' ? '%'"); paramerList.add(description); } PreparedStatement statement = conn.prepareStatement(sql.toString()); for(int i=0;i<paramerList.size();i++){ statement.setNString(i+1, paramerList.get(i)); } //得到查询结果 ResultSet rs = statement.executeQuery();
  • 弱水三千123456
    弱水三千123456
    前面的sql是这样写的 StringBuilder sql = new StringBuilder("select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1");
  • 大咪
    大咪
    我看你模糊查询的语句和前面的sql语句衔接的没错啊,当初我做这个mybatis机器人回复的时候也是出现过这个错误,查了好久,是因为拼接sql的时候在where 1=1后面多打了一个空格,然后append括号里的语句也多打了一个空格导致的sql语句报错。你这个我看这两条衔接的没有问题啊。
?
弱水三千123456

TA贡献1条经验 获得超0个赞

if (command!=null&&!"".equals(command.trim())) {

                sql.append(" and COMMAND=? ");

                paramerList.add(command);

            }

准确的查询没问题,模糊查询就报错

 if (description!=null&&!"".equals(description.trim())) {

            sql.append(" and DESCRIPTION like '%' ? '%'");

                paramerList.add(description);

            }

老师帮忙看一下,哪里出错了

查看完整回答
反对 回复 2016-09-29
  • 4 回答
  • 0 关注
  • 2286 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信