Доброе утро, у меня проблема с веб-приложением, которое я создаю. Premtto Я довольно новичок в этом виде программирования.
Поэтому мое веб-приложение должно позаботиться о бронировании номеров в отелях. Моя проблема состоит в том, чтобы проверить, когда кто-то пытается забронировать номер, чтобы вы не могли забронировать два одинаковых номера за один и тот же период.
Только то, что с написанным кодом проверка не выполняется, и номер все еще забронирован. Как я мог поступить согласно тебе? Большое спасибо за вашу помощь.
try {
Class.forName("com.mysql.cj.jdbc.Driver");
// out.println("driver loaded");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Hotel?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "123456789");
out.println("Connect");
Statement st = con.createStatement();
Statement stmt = con.createStatement();
out.println("connection successfull");
String check = ("SELECT res1.id_prenotazione, res1.typeroom, res1.arrivaldate, res1.departuredate\n" +
"FROM reservation res1, reservation res2\n" +
"WHERE ( res1.typeroom = res2.typeroom ) \n" +
"AND res1.id_prenotazione != res2.id_prenotazione\n" +
"AND (res1.arrivaldate <= res2.departuredate)\n" +
"AND (res2.arrivaldate <= res1.departuredate)");
// ResultSet rs2 = stmt.executeQuery(check);
out.println("<h1> Stringa chek eseguita </h1>");
if (check) { // THIS DOESN't WORK OF COURSE
int rs = st.executeUpdate("insert into reservation (login,email,typeroom,numroom,arrivaldate,departuredate)values ('" + login + "','" + email + "','" + typeroom + "','" + numroom + "','" + arrivaldate + "','" + departuredate + "')");
}
String getResultSet = ("SELECT count(*) FROM reservation WHERE arrivaldate ='" + arrivaldate + "'");
String rs1 = ("SELECT count(*) FROM reservation WHERE arrivaldate");
if (getResultSet != rs1) {
int i = st.executeUpdate("DELETE FROM reservation WHERE id_prenotazione ='" + id_prenotazione + "'");
}
ТАБЛИЦА reservation
(
id_prenotazione
int (11) NOT NULL AUTO_INCREMENT,
login
varchar (45) NOT NULL,
email
varchar (45) NOT NULL,
typeroom
varchar (45) NOT NULL,
numroom
int (11) NOT NULL,
arrivaldate
datetime НЕ NULL,
departuredate
datetime НЕ NULL,
ПЕРВИЧНЫЙ КЛЮЧ (id_prenotazione
)
ТАБЛИЦА users
(
login
varchar (45) NOT NULL,
firstname
varchar (45) NOT NULL,
lastname
varchar (45) NOT NULL,
password
varchar (45) NOT NULL,
ПЕРВИЧНЫЙ КЛЮЧ (login
)