-2
Ich mache Reservierungsprogramm.JDBC Fehler. Hilf mir
ich Gesicht MySQL JDBC Fehler.
Ich führte Code unten aus.
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();
}
Dieser Code tritt Syntax Ausnahme unten auf. aber ich weiß nicht, Fehler Abschnitt ...
Wie kann ich diese Angelegenheit lösen?
Sie machen zwei Zuweisungen an die 'sql' Variable am Anfang. Wollen Sie das wirklich tun? – Nurjan
Bitte fügen Sie den vollständigen StackTrace als ** Text ** in Ihre Frage ein, verwenden Sie keine Bilder für Dinge, die per Text übermittelt werden können. BTW: Das Problem ist wahrscheinlich der fehlende Abstand zwischen '?' Und 'WHERE' nach der Verkettung. –