SQL(Room Reservation WebApp)Java中的比较元素

SQL(Room Reservation WebApp)Java中的比较元素,java,mysql,sql,eclipse,Java,Mysql,Sql,Eclipse,我创建了一个简单的web应用程序。 我需要检查,当有人预订房间时,到达日期是否不同。 例如: 人员A:在数据中预订房间:2018年7月12日 人员B:在data:12/07/2018中预订房间(他不能预订,因为还有人员a) 我有一个db: 酒店预订 cid、cname、电子邮件、到达日期、离开日期、人员、房间、类型、房间、评论、状态、uid 这是我的密码 HotelBooking.java 你认为我该怎么办??谢谢您的帮助。检查类似以下的查询是否返回0 SELECT count(*)

我创建了一个简单的web应用程序。 我需要检查,当有人预订房间时,到达日期是否不同。 例如: 人员A:在数据中预订房间:2018年7月12日 人员B:在data:12/07/2018中预订房间(他不能预订,因为还有人员a)

我有一个db:

酒店预订

cid、cname、电子邮件、到达日期、离开日期、人员、房间、类型、房间、评论、状态、uid

这是我的密码

HotelBooking.java


你认为我该怎么办??谢谢您的帮助。

检查类似以下的查询是否返回
0

SELECT count(*)
       FROM hotel_booking
       WHERE arrival_date <= $1
             AND departure_date > $1,
             AND room = $2;
选择计数(*)
从酒店预订
如果到达日期为$1,
房间=2美元;
如果返回
0
,则客人希望入住的当天房间没有人。否则就是

$1
替换为客人希望到达的日期,将
$2
替换为房间(号码或姓名或您使用的任何东西)

我假设签入/签出时间的处理方式如下:

  • 在某一天的晚上办理入住手续
  • 在某一天的早上退房。接下来,一位客人可以在另一位客人退房的当天办理入住手续
如果这个假设是错误的,那么您必须相应地调整比较运算符


还考虑使用参数化查询而不是字符串链接与未经消毒的用户输入值。后者是危险的,您的应用程序容易受到SQL注入攻击。参数化查询还有助于为给定的数据类型找到正确的表示形式,从而防止错误值的出现。

通过编写代码。。。Stackoverflow用于询问特定的编程问题或错误,而不是粘贴项目的一部分并要求其他人编写代码(请参阅)。正因为如此,我投票结束这个问题,因为它太宽泛了。我只是问我该怎么做,我不要求你写代码。我只想明白。我粘贴我的代码来查看我使用的变量…谢谢你的回答!我想了一些类似于你的答案,问题是我不知道某个用户的到达日期。当他输入日期时,他将看到该日期的房间已被占用。我不明白我需要使用什么参数来执行此操作。@Keyz23:我猜您在
INSERT
中对
arrival\u date
使用的参数是一样的。。。
SELECT count(*)
       FROM hotel_booking
       WHERE arrival_date <= $1
             AND departure_date > $1,
             AND room = $2;