我正在嘗試從 SQL Server 獲取兩個日期之間的資料。
我用這段代碼試試:
string kayit = "SELECT * FROM Kabin_Verileri WHERE Readtime BETWEEN '" dateTimePicker1.Value "' and '" dateTimePicker2.Value "'";
但它得到這個錯誤:
System.Data.SqlClient.SqlException:“將 varchar 資料型別轉換為 smalldatetime 資料型別導致值超出范圍。”
錯誤
我的 SQL Server 表設計
有人知道如何在兩個日期之間獲取資料嗎?
uj5u.com熱心網友回復:
您需要將dateTimePicker1.Valueand格式化為dateTimePicker2.Valuesql 可以讀取為日期的字串。ISO 格式 'yyyy-mm-dd' 對于大多數 sql 引擎來說是理想的。
在c#中你這樣做......
string fromDateStringISO = Convert.ToDateTime(dateTimePicker1.Value).ToString('o');
string toDateStringISO = Convert.ToDateTime(dateTimePicker2.Value).ToString('o');
string kayit = "SELECT * FROM Kabin_Verileri where Readtime BETWEEN '" fromDateStringISO "' and '" toDateStringISO "'"
'o' 格式是 ISO 格式。在這里檢查
uj5u.com熱心網友回復:
您需要將 varchar 資料型別更改為日期時間。如果 dateTimePicker 是 datetime 屬性,您可以將其寫為 dateTimePicker(無需獲取其值)。
string kayit = "SELECT * FROM Kabin_Verileri where Readtime BETWEEN '" dateTimePicker1 "' and '" dateTimePicker2 "'";
如果 dateTimePicker 不是 DateTime 屬性,那么您需要像上面說的@nazim 那樣轉換它
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/479624.html
下一篇:按圓桌選擇順序?
