從程式中傳遞開始日期與結束日期至儲存過程
先來看看這個功能:
你會在程式介面放兩個文字框,讓使用者填入日期來進行查詢資料。此時你可能會想到它有三種情況出現,使用者只填第一個文字框,或只填第二個文字框,也有可能兩個均填。
這三種情況,你將怎樣處理邏輯呢?
Insus.NET所理解,如果使用者只填第一個文字框日期,第二個沒有填,那就意味著使用者是想告訴系統想查詢大於等於這個日期的記錄。
如果第一個文字框沒有填,只填第二個日期,說明是想查詢小於或等於這個日期的記錄。
如果兩個均填,說明是查詢這個日期之間的記錄。大於等於開始日期,小於等於結束日期。
在這裡,如果有結束日期判斷時,小於等於的條件,會有可能記錄不正確。因為傳於的日期,真正傳入至SQL時,它會變時xxxx-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。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/855/viewspace-2812802/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 把起始日期與結束日期之間的所有日期返回
- mysql儲存過程及日期函式實踐MySql儲存過程函式
- 獲取指定日期是當年第幾周,指定日期所在周的開始和結束日期
- Windows 7 釋出日期 結束日期 時長Windows
- 儲存過程 傳 datatable儲存過程
- 日期的正確儲存方式
- elementUI中日期選擇器,控制開始時間小於結束時間UI
- 儲存過程與儲存函式儲存過程儲存函式
- webpack 從開始到結束Web
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- mysql儲存日期使用什麼型別MySql型別
- bootstrap datetimepicker調整開始日期boot
- Sqlserver中的儲存過程SQLServer儲存過程
- jsp中呼叫儲存過程JS儲存過程
- Keras中Mask的傳遞過程Keras
- mySql 儲存過程與函式MySql儲存過程函式
- MySQL儲存過程in、out、inout引數示例與總結MySql儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MySQL--儲存過程與檢視MySql儲存過程
- SqlServer儲存過程的建立與使用SQLServer儲存過程
- SQLSERVER儲存過程SQLServer儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- unidac儲存過程儲存過程
- firedac儲存過程儲存過程
- Oracle儲存過程Oracle儲存過程
- MySQL儲存過程中如何使用ROLLBACKMySql儲存過程
- MySQL入門系列:儲存程式(三)之儲存過程簡介MySql儲存過程
- MySQL自定義函式與儲存過程MySql函式儲存過程
- [20180502]PLDEVELOP與儲存過程除錯.txtdev儲存過程除錯
- Mysql儲存過程基礎(案例+程式碼)MySql儲存過程
- 通過 POI 將資料庫中的資料上傳至 OSS 物件儲存資料庫物件
- excel自動生成連續日期 excel怎麼設定日期遞增Excel
- JdbcTemplate調儲存過程JDBC儲存過程
- 造數儲存過程儲存過程
- 儲存過程——遊標儲存過程
- JAVA儲存過程(轉)Java儲存過程