您的位置:首页 > 其它

PreparedStatement的setString导致越界问题解决方案

2015-11-06 17:11 357 查看
在写web程序时,jdbc写的数据库查询语句突然报错,Parameter index out of range (1 > number of parameters, which is 0)。感觉自己不至于犯这么低级的问题啊。

而且等等!下标是从0开始的!?你逗我呢?

后来突然想起来,以前好像遇到过,在setString的时候,string所在的sql语句不要再加上单引号了!这才是问题所在!

我的sql语句这么写的:

String sql = "select num from counter "
+ "where user_id= (select user_id from user where user_name='?')";

这样是错的,应该这样写:

String sql = "select num from counter "
+ "where user_id= (select user_id from user where user_name=?)";

然后再setString。

ok,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: