JTextField を使用して DB のコンテンツを更新しようとしています。特定のレコードに関するすべての情報を含むフレームがあり、正しいデータまたは変更されたデータをすべての JTextField に入力してから、prepareStatement で UPDATE ステートメントを実行しようとしていますが、動作しないようです。私はこのようにしようとしています:
.....
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String Base = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=DATABASE.mdb";
Connection con = DriverManager.getConnection(Base,"","");
PreparedStatement pst = con.prepareStatement("update table_name SET table_item1='?', table_item2='?', table_item3='?', table_item4='?', table_item5=?, table_item6=?, table_item7=? WHERE table_item8=?");
pst.setString(1, tf1.getText());
pst.setString(2, tf2.getText());
pst.setString(3, tf3.getText());
pst.setString(4, tf4.getText());
pst.setString(5, tf5.getText());
pst.setString(6, tf6.getText());
pst.setString(7, tf7.getText());
pst.setString(8, comboItem.getSelectedItem());
int res= pst.excecuteUpdate();
pst.close();
con.close();
......
' 'を使用するクエリでは、文字列コンポーネントであるため、pst.setString(5, tf5.getText());でエラーが発生します。整数値がそこから始まるためかもしれませんが、それはただの予感です。