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