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

来源:互联网 发布:中科大软件学院学费 编辑:程序博客网 时间:2024/05/01 09:37

在写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,问题解决。

0 0