-3
外部キーを使用して2つのテーブルに挿入する際のヘルプはありますか? 私はこれをすでに持っています。最初のときはクリックしても動作しますが、2回目以降にしようとすると外来キーは変わらず、同じままです。1つのボタンで外部キーを使用して2つのテーブルに挿入する
私のデータベーステーブル:
passenger (name, p_id) // p_id is auto-increment
luggage (lug_id, brand, type, p_id)
これは、これまでの私のコードです:すべての
private void InsertLuggageInfo() {
conn = jdbcDBconnection.ConnectDB();
String query_luggage, query_passenger;
query_passenger = "INSERT INTO passenger (name) VALUES (?)";
stmt1 = conn.prepareStatement(query_passenger);
stmt1.setString(1, txtFirstname.getText());
stmt1.execute();
stmt1.close();
} catch (SQLException ex) {
System.err.println(ex);
}
try {
String p_id = null;
String p_id_query = "SELECT p_id FROM passenger WHERE name = '" + txtFirstname.getText() + "'";
stmt2 = conn.prepareStatement(p_id_query);
rs2 = stmt2.executeQuery();
if (rs2.next()) {
p_id = rs2.getString("p_id");
}
query_luggage = "INSERT INTO luggage (lug_id, brand, type, p_id) VALUES (?,?,?,?)";
stmt3 = conn.prepareStatement(query_luggage);
stmt2.setString(1, txtLugNr.getText());
stmt2.setString(2, txtbrand.getText());
stmt2.setString(3, txtType.getText());
stmt2.setString(4, p_id);
stmt2.execute();
stmt2.close();
}catch (SQLException ex) {
System.err.println(ex);
}
'rs2.getString(" passenger_id ");' - カラムの名前が 'p_id'の場合、なぜここで' passenger_id'を使用しますか? –
申し訳ありません、私の悪い、それは確かにp_idです –
コピー/貼り付けの代わりにStackOverflowにコードを再入力した場合、実際に実行されているものがわかりません。また、エラーメッセージやスタックトレース(存在する場合)を提供しておらず、使用しているデータが表示されて問題が発生していません。もっと詳細がなければ、私たちはあなたを助けることができません。詳細については、[help]にアクセスし、[ask]をお読みください。 –