数据库错误:Parameter index out of range (1 > number of parameters, which is 0). 参数索引超出范围。
出错原因:
- 初学者很常见的错误:?—?
这两个问号是不同的,因为一个是中文,一个是英文,如果在sql语句中写入的是中文,将无法识别。
注:下面这两种情况目前还没有遇到,看网上有人写这两种情况。
但这两种显然是该原因。
-
?号被单引号包围。
(如setString(1,“slkdjfkd”);时sql语句为:insert into table1 (c1,c2) values (‘?’,‘?’))。
此时?会被作为参数传入,而不会再传入 setString里面的值。 -
sql语句中没有?号,在后面用到了set语句。(如:select * from table);
此时无需传值。传值就会出错。