【发布时间】:2019-04-16 20:11:55
【问题描述】:
我可以在如何创建我的选择语句时使用一些建议,以便它适用于入住和退房日期。我有 2 张桌子:房间和预订。为了帮助您理解,它们看起来像这样:
Rooms table:
Room number (prim-key)
Type
Price
Booking table:
BookingId (prim-key)
Check-In date:
Check-Out date:
Room-number (foreign key) to Room number in Room table.
我有一个检查可用房间按钮,它在我的 gridview 中运行 select 语句。根据用户的输入,它应该找到尚未预订的房间。
签入和签出的数据类型是“日期”DD/MM/YYY” 假设房间 101 在 2015 年 7 月 13 日和 2015 年 7 月 15 日之间预订。然后表格将如下所示。
BookingId = a long number , Check-In = 13-07-2015 , Check-Out = 15-07-2015 , RoomNumber = 101.
那么,如果用户在日期中写入:14-07-2015 和 16-07-2015,我该如何做出选择语句?那么它不应该显示房间 101,因为它是保留的。
希望有人能帮助我朝着正确的方向前进。如果您需要任何代码或其他东西,请告诉我!
更新:
我仍在努力完成这项工作.. 不确定是什么导致了我遇到的问题。现在,当我运行 Tim 和 Hogan 的代码(都尝试过)时,它将检索酒店中的所有房间,而不是对保留的特定房间进行排序。
如下图所示,102房间已预定
用户在日期中书写的文本框代码:
<div class="form-group">
<asp:Label ID="CheckinLabel" runat="server" Text="Check-in Date"></asp:Label>
<asp:TextBox ID="datetimepicker1" ClientIDMode="Static" runat="server" CSSclass="form-control"></asp:TextBox>
</div>
<div class="form-group">
<asp:Label ID="CheckoutLabel" runat="server" Text="Check-out Date"></asp:Label>
<asp:TextBox ID="datetimepicker2" ClientIDMode="Static" runat="server" CSSclass="form-control"></asp:TextBox>
</div>
我的两张桌子的图片,你可以看看它们的样子:
CheckIn 和 CheckOut 数据类型为:nchar(10),尝试使用“日期”数据类型,但随后出现以下错误 “从字符串转换日期和/或时间时转换失败。” em>
这里重要的是,如果您尝试预订房间并且入住或退房日期是 2015 年 7 月 7 日至 2015 年 7 月 20 日之间的日期,那么房间 102 已被预订,不应显示出来。
【问题讨论】:
-
发布样本数据和所需的输出@raaydk
-
它应该选择什么?
-
我已经更新了 :)
-
您自己尝试过什么吗?到目前为止你做了什么?如果你不这样做,你为什么指望这里的人为你做所有的工作?
-
我自己尝试了很多..