报SQL异常Parameter index out of range (1 > number of parameters, which is 0).
数据库错误:Parameter index out of range (1 > number of parameters, which is 0).
错误发生原因其实很简单,就是当设置参数时,没有相应的问号与之匹配(或者根本就没有?号).
如果是:Parameter index out of range (26 > number of parameters, which is 25).
翻译为:找到了25个问号,却插入了26个值,导致参数越界(根据得到的信息打印将很容易判断数据是否与数据库字段匹配等小问题)。
与sql语句有关的原因如下:
第一种:?号被单引号包围。
(正确的应该是?号的两边没有单引号包围才对)
(如setString(1,“slkdjfkd”);时sql语句为:insert into table1 (c1,c2) values (’?’,’?’))。
此时?会被作为参数传入,而不会再传入 setString里面的值。
第二种: sql语句中没有?号,在后面用到了set语句。
(如:select * from table);此时无需传值。传值就会出错。
第三种:初学者很常见的错误:?—? 写成了中文的问号导致报错
这两个问号是不同了,因为一个是中文,一个是英文,如果在sql语句中写入的是中文,将无法识别。
接下来的一段时间,我会专注Java技术栈,计算机网络,数据结构和算法,操作系统,设计模式,计算机组成原理,数据库原理,设计模式来做分享,欢迎你们和我一起学习,一起提高,Fighting!
本文转载自:https://www.cnblogs.com/1020182600HENG/p/6097475.html
还没有评论,来说两句吧...