Eclipse から jdbc:odbc 接続を使用して MS Access データベースにデータを挿入しようとしています。次のようなエラー メッセージが表示されます。
java.lang.ArrayIndexOutOfBoundsException 4
問題は、基になるテーブルの自動番号フィールド (最初のインデックス) をスキップしていることだと確信しています。Access が入力するため、スキップする必要があると考えました。したがって、基になるテーブルに 5 つのフィールドがある場合、4 つの ? を使用して次の PreparedStatement を作成し、フィールド 2、3、4、および 5 を参照しようとします。
PreparedStatement ps = con.prepareStatement("INSERT INTO someTable VALUES (?, ?, ?, ?");
//code then populates each field, starting with index 2
ps.setString(2,"Thunder");
//...
私のアプローチは間違っているようです。ただし、追加の ? を追加すると、他の問題が発生するようです。テーブルの最初のフィールドとして自動付番の主キーがある場合、MS Access データベースのテーブルに INSERT ステートメントを書き込む正しい方法は何ですか?