2013-07-09 44 views
0

嗨我正在嘗試使用JDBC準備語句批量上傳到sybase iq。我正在以下SQL異常SQLException準備語句:輸入參數未設置,索引:1

java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 1. 

編輯:

INSERT INTO School2(schoolid,schoolname,schooltype) VALUES (?,?,?) 

我使用下面的代碼

我是新來的JDBC請指導什麼是錯的。提前致謝。

+3

向我們顯示您的查詢字符串! – NINCOMPOOP

+0

和'newArray'的內容 –

+0

Hi @TheNeiIdiot感謝您的回覆。我在編輯部分添加了查詢。 – u449355

回答

2

我們看不到您的查詢字符串,但似乎執行語句時沒有設置所有參數。

具體而言,我不認爲pstmt.executeBatch();應該在您的for-loop設置參數中找到:您在設置所有參數之前執行批處理!

+0

嗨,謝謝你的回覆。我已經添加了插入查詢。請告訴我如何在調用執行批次之前設置參數。 – u449355

1

我認爲這個問題是由於您通過colArray每次迭代調用pstmt.addBatch()pstmt.executeBatch()的事實引起的。只有在設置了全部查詢參數後,才應該致電pstmt.addBatch(),並且只有在處理了所有對象(或者您已達到批量大小)後才致電pstmt.executeBatch()