數據庫錯誤: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語句有關的原因如下:
1.?號被單引號包圍。
(如setString(1,"slkdjfkd");時sql語句為:insert into table1 (c1,c2) values ('?','?'))。
此時?會被作為參數傳入,而不會再傳入 setString里面的值。
2.sql語句中沒有?號,在后面用到了set語句。(如:select * from table);
此時無需傳值。傳值就會出錯。
3.初學者很常見的錯誤:?---?
這兩個問號是不同了,因為一個是中文,一個是英文,如果在sql語句中寫入的是英文,將無法識別。
其他原因:
1.連接已經關閉。
如果與其他操作語句一起公用conn時,如果上一操作已經關閉連接,則會報錯。表現為:時而能夠進行操作,時而不能。
2.pstm沒有初始化,無驅動包,得到連接出錯等基礎問題……
都是一些比較基礎的東西,希望大家不要犯這種錯誤,浪費寶貴時間。
(歡迎轉載,請注明出處。
http://blog.sina.com.cn/s/blog_6df227a40101709h.html)