gpt4 book ai didi

java - 如何在 Java、Mysql 中迭代到达和出发日期

转载 作者:行者123 更新时间:2023-11-29 18:23:16 25 4
gpt4 key购买 nike

我有一个用于房间类型的组合框和两个用于到达和离开的文本框,我想要的是当到达= 2017-09-01 - 离开= 2017-09-05已经存在时,客户将无法选择2017-09-02至2017-09-05在同类型的房间

String sql = "SELECT * FROM reservation WHERE room=? and arrival=? and 
departure=?";

try{
pst=conn.prepareStatement(sql);
pst.setString(1, ComboBox.getSelectedItem().toString());
pst.setString(2, txtArrival.getText());
pst.setString(3, txtDeparture.getText());
rs=pst.executeQuery();
if(rs.next()){
// the customer needs to choose other date or room
}
else{
// continue to fill up the form below
}
}

enter image description here

最佳答案

将日期值存储在日期数据类型的列中,而不是文本中。

使用适当的对象而不仅仅是字符串。

LocalDate arrival = LocalDate.parse( "2017-09-01" ) ;

将该对象传递给您的 PreparedStatement

myPreparedStatement.setObject( 2 , arrival ) ;

对于ResultSet

LocalDate arrival = myResultSet.getObject( 2 , LocalDate.class ) ;

修复 SQL 查询的逻辑。您不应该寻找精确的日期匹配。

所有这些都已在 Stack Overflow 上多次介绍过。发帖前彻底搜索。

关于java - 如何在 Java、Mysql 中迭代到达和出发日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46390898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com