.NET - 获取两个日期之间的数据
.NET - getting the data between two dates
我正在尝试从 SQL 服务器获取两个日期之间的数据。
我用这段代码试试:
string kayit = "SELECT * FROM Kabin_Verileri WHERE Readtime BETWEEN '" + dateTimePicker1.Value + "' and '" + dateTimePicker2.Value + "'";
但出现此错误:
System.Data.SqlClient.SqlException: 'The conversion of a varchar data type to a smalldatetime data type resulted in an out-of-range value.'
Error
My SQL Server table design
有人知道如何获取两个日期之间的数据吗?
您需要将 dateTimePicker1.Value
和 dateTimePicker2.Value
格式化为 sql 可以读取的字符串
一个约会。 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格式。 Check here
您需要将 varchar 数据类型更改为 datetime。如果 dateTimePicker 是 datetime 属性 你可以把它写成 dateTimePicker (不需要获取它的值).
string kayit = "SELECT * FROM Kabin_Verileri where Readtime BETWEEN '" + dateTimePicker1 + "' and '" + dateTimePicker2 + "'";
如果 dateTimePicker 不是 DateTime 属性 那么你需要像@nazim 上面说的那样转换它
我正在尝试从 SQL 服务器获取两个日期之间的数据。
我用这段代码试试:
string kayit = "SELECT * FROM Kabin_Verileri WHERE Readtime BETWEEN '" + dateTimePicker1.Value + "' and '" + dateTimePicker2.Value + "'";
但出现此错误:
System.Data.SqlClient.SqlException: 'The conversion of a varchar data type to a smalldatetime data type resulted in an out-of-range value.'
Error
My SQL Server table design
有人知道如何获取两个日期之间的数据吗?
您需要将 dateTimePicker1.Value
和 dateTimePicker2.Value
格式化为 sql 可以读取的字符串
一个约会。 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格式。 Check here
您需要将 varchar 数据类型更改为 datetime。如果 dateTimePicker 是 datetime 属性 你可以把它写成 dateTimePicker (不需要获取它的值).
string kayit = "SELECT * FROM Kabin_Verileri where Readtime BETWEEN '" + dateTimePicker1 + "' and '" + dateTimePicker2 + "'";
如果 dateTimePicker 不是 DateTime 属性 那么你需要像@nazim 上面说的那样转换它