-2
私は予約プログラムを作っています。JDBCエラーです。助けてください
私はMySQL JDBCエラーに直面しています。
以下のコードを実行しました。
public void ReservationModifyQuery(String room, String name, String phone, String nop, String revdate, String revtime, String usetime, String isgroup, String id, String PrefRoom, String PrefReservationTime, String PrefDateString, Connection conn) throws Exception{
String updateDB = "UPDATE reservation SET ";
String sql = "roomNum = ?,"+
"Name = ? ,"+
"Phone = ? ,"+
"NumOfPeople = ? ,"+
"ReservationDate = ? ,"+
"ReservationTime = ? ,"+
"UseTime = ? ,"+
"Group = ? ,"+
"ID = ? ";
sql = "roomNum = ?";
String where = "where roomNum = ? and ReservationDate = ? and ReservationTime = ? ;";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setInt(1, Integer.parseInt(room));
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "Name = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setString(1, name);
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "Phone = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setString(1, phone);
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "NumOfPeople = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setInt(1, Integer.parseInt(nop));
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "ReservationDate = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setDate(1, Date.valueOf(revdate));
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "ReservationTime = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setTime(1, Time.valueOf(revtime));
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "UseTime = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setDouble(1, Double.parseDouble(usetime));
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "Group = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setString(1, isgroup);
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
sql = "ID = ?";
pstmt = conn.prepareStatement(updateDB+sql+where);
pstmt.setString(1, id);
pstmt.setInt(2, Integer.parseInt(PrefRoom));
pstmt.setDate(3, Date.valueOf(PrefDateString));
pstmt.setTime(4, Time.valueOf(PrefReservationTime));
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
このコードは以下の構文例外が発生します。 しかし、私は、エラー部分を知らない...
どのように私はこの問題を解決することができますか?
の
を使用してください。あなたが本当にやりたいことですか? – Nurjan
あなたの質問に完全なstacktraceを**テキスト**として含めるようにしてください。テキストで伝えることのできるものにイメージを使用しないでください。 BTW:問題はおそらく、連結後に '?'と 'WHERE'の間にスペースがないことでしょう。 –