通过JDBC连接MySQL数据库报错:Parameter index out of range (1 > number of parameters, which is 0).的解决方法

今天在学习使用jdbc进行用户的登录校验,在对MySQL数据库进行增删改查操作时,报了如下异常。
在这里插入图片描述
具体意思是参数索引超出范围,一般发生这种情况有两种原因:

一是当你往要执行的sql语句里传了一个参数,但是sql语句里没用?代替需要参数的地方,所以传不进去。

我就犯的这个错误,想通过占位符来动态的传参将

String sql="insert into a_student(a_name,a_point) values('hhh','66')";

改成这样,忽略了占位符不需要单引号的,因该将单引号去掉

String sql="insert into e_student(e_name,e_point) values('?','?')";//错
String sql="insert into e_student(e_name,e_point) values(?,?)";//对

二是因为向SQL语句中传参数的下标注意是从1开始的,有可能当你传参数的时候忘了,误以为下标从0开始,结果报异常了。

猜你喜欢

转载自blog.csdn.net/weixin_45797022/article/details/105313928