先來看看這個功能:
你會在程式介面放兩個文字框,讓使用者填入日期來進行查詢資料。此時你可能會想到它有三種情況出現,使用者只填第乙個文字框,或只填第二個文字框,也有可能兩個均填。
這三種情況,你將怎樣處理邏輯呢?
insus.net所理解,如果使用者只填第乙個文字框日期,第二個沒有填,那就意味著使用者是想告訴系統想查詢大於等於這個日期的記錄。
如果第乙個文字框沒有填,只填第二個日期,說明是想查詢小於或等於這個日期的記錄。
如果兩個均填,說明是查詢這個日期之間的記錄。大於等於開始日期,小於等於結束日期。
在這裡,如果有結束日期判斷時,小於等於的條件,會有可能記錄不正確。因為傳於的日期,真正傳入至sql時,它會變時***x-xx-xx 00:00:00.000對吧。
如果所查詢的字段包含有時間的話,就不準確了。 記錄有2015-10-23 09:55:13值,但你傳的日期如2015-10-23,經轉換後為2015-10-23 00:00:00,此時使用小於等於就查詢不到這筆記錄了。
因此要處理結束日期時,正確使用條件是把結束日期加一天,用小於條件來處理。
在儲存過程中,你可以這樣寫:
得到where條件,你就可以進行下一步了:
上面#33和#34行**判斷,如果使用者兩個文框的日期都沒有填寫時,直接是查詢所有日期的記錄。
另外是使用動態的sql來執行。語法方面不懂,查閱一下msdn。
Flex 開始日期與結束日期DateField元件
1.2.6.7.8.9.10.18.19.20.21.22.23.25.26.27.29.對於結束日期 selectablerange 當中需要注意的是黑體字部分,設定了可用範圍的起始時間將由startdf的選擇日期決定。datefield元件除了提供可用範圍外,還提供了不可用範圍,不過此種做法畢竟...
結束日期必須大於開始日期
2011 07 28 09 24 在做時間查詢時,有時需要兩個日期,從乙個日期到另外乙個日期的那種,但是這樣會有乙個問題,比如後者的結束日期晚於開始日期怎麼辦?用js寫驗證,麻煩,呵呵,用這個日曆控制項,可方便實現結束日期只顯示開始日期之後的日期,具體的參看以下效果圖 比如我選擇開始日期是7月28,...
extjs 日期開始結束
ext.form.datefield 日期範圍控制 專案中有時需要用到起始日期和結束日期,要做到起始日期必須小於結束日期。在extjs中已經有現成的函式,摘錄如下 daterange function val,field if field.startdatefield this.daterangem...