0

こんにちは、JDBC プリペアード ステートメントを使用して sybase iq にバッチ アップロードしようとしています。次のSQL例外が発生しています

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

編集:

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

次のコードを使用しています

私はJDBCが初めてなので、何が間違っているのか教えてください。前もって感謝します。

4

2 に答える 2

2

クエリ文字列は表示されませんが、ステートメントの実行時にすべてのパラメーターが設定されていないようです。

具体的には、パラメーターを設定する for ループで見つけるべきではないと思いpstmt.executeBatch();ます。すべてのパラメーターを設定する前にバッチを実行します。

于 2013-07-09T10:00:59.923 に答える
1

問題は、あなたが呼び出しpstmt.addBatch()pstmt.executeBatch()繰り返しごとにcolArray. すべてのクエリ パラメータpstmt.addBatch()を設定した後にのみ呼び出す必要があり、すべてのオブジェクトが処理された後 (またはバッチ サイズに達した後) にのみ呼び出す必要があります。pstmt.executeBatch()

于 2013-07-09T10:02:51.063 に答える