解决给分,简单问题,sql语句错误
jsp中:
String number="xxx";
String SQL_Qry="select * from register where number=\'"+number+"\' and characterNum=\'未定\';";
问题:此sql语句有何错误(register表名,number字段,cnaracterNum字段)
错误提示:aq.executeQuery: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 'from register where characterNum='未定' and number='WWW'' at line 1
小弟刚入行,有提示也找不到错误,请大侠给个提示.
------解决方案--------------------
------解决方案--------------------别用 * 试试
------解决方案--------------------sql语句中的字符串是要用单引号'括起来的
数字就不用具体是什么类型的要看数据库里面字段的类型是什么
不太明白你的为什么要用"\"进行转义呢!
String sql = "select * from register where number='"+number+"' and characterNum='未定'";
------解决方案--------------------number='WWW'这里错了吧,这个字段应该是INT的吧
------解决方案--------------------把你拼出来的语句直接放在数据库下看看能不能执行。
从你的SQL表面上看没什么错
------解决方案--------------------这两个字段什么类型啊?
------解决方案--------------------String number="xxx";
String SQL_Qry="select * from register where number= '" + number + "' and characterNum='未定' ";
这样修改之后就可以了。
------解决方案--------------------中文换一下试试
------解决方案--------------------String number="xxx";
String SQL_Qry="select * from register where number= '" + number + "' and characterNum='未定' ";
这样修改之后就可以了。
或者这样
String number="xxx";
String SQL_Qry="select * from register where number= '" + number + "' and characterNum='"+未定+"'";
试试,应该没有问题
------解决方案--------------------恩
------解决方案--------------------lz可以考虑用PreparedStatement吗?这样拼接太麻烦了,还容易出错和被注入
------解决方案--------------------jsp中:
String number="xxx";
String SQL_Qry="select * from register where number=\'"+number+"\' and characterNum=\'未定\';";
sql中末尾不能有“;”号,也不需要用\转义
修改为:
String number="xxx";
String SQL_Qry="select * from register where number='"+number+"' and characterNum='未定'";
试试看
我家里没有装sql,没有办法测试
赫赫