读书人

解决给分,简单有关问题,sql语句异常

发布时间: 2012-02-16 21:30:36 作者: rapoo

解决给分,简单问题,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,没有办法测试
赫赫

读书人网 >Java Web开发

热点推荐