簡體   English   中英

檢查兩個日期時間選擇器之間的沖突

[英]check conflict between two datetimepicker

因此,我正在制作一個簡單的預訂系統C#和sql。 我有datetimepicker 1和datetimepicker 2。 對於前。 datetimepicker = 2009年8月1日,datetimepicker2 = 2009年8月3日,由用戶保存在sql中。

該怎么辦,以便下一個試圖獲取1-3日期的下一個客戶將被迫選擇另一個日期?

您可以運行如下查詢:

select count(*) as cnt
from reservations t
where
not 
(

    (@dtTo <= t.DateFrom)

    or

    (@dtFrom >= t.DateTo)

)

假設@ dtFrom,@ dtTo是第二個用戶選擇的日期,並假設
您有一個包含DateFromDateTo列的reservations表。

  • 如果此查詢返回0,則允許第二個用戶保存。
  • 如果返回的數字> 0,則不允許第二個用戶保存。

這背后的想法是什么:
時間[dateFrom1, dateTo1][dateFrom2, dateTo2]兩個時間段不是
僅在以下情況下,此基於預留的方案發生沖突(即不重疊):
dateTo1 <= dateFrom2 or dateFrom1 >= dateTo2
(將其畫在一張紙上,您會明白為什么)。
所以如果否定
not ( dateTo1 <= dateFrom2 or dateFrom1 >= dateTo2 )
是的,這兩個部分是重疊/沖突的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM