![](/img/trans.png)
[英]Conversion failed when converting date and/or time from character string DateTime
[英]DateTime conversion failed when converting date and/or time from character string
我试图运行以下简单的SQL查询,在两个日期之间选择数据。 日期来自以下DateTimePickers: DTP_From
, DTP_To
DateTime startDate = DTP_From.Value.Date;
DateTime endDate = DTP_To.Value.Date;
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = con;
sqlCmd.CommandType = CommandType.Text;
sqlCmd.CommandText = "SELECT * From Report_Sales where Date >= '" + startDate + "' AND Date <= '" + endDate + "'";
执行查询时,我收到以下错误:
从字符串转换日期和/或时间时,日期时间转换失败
如何运行上述查询错误?
参数化您的查询以避免这样的问题。
sqlCmd.CommandText = "SELECT * From Report_Sales where Date >= @startDate AND Date <= @endDate";
sqlCmd.Parameters.AddWithValue("@startDate", startDate);
sqlCmd.Parameters.AddWithValue("@endDate", endDate);
如果你不遵循格兰特温尼的优秀建议来参数化您的查询,这也将帮助您避免其他恶意; 要将DateTime
数据包含到Transact-SQL查询中,需要使用ISO 8601样式进行格式化:
YYYY-MM-DDTHH:MM:ss.nnn [Z]
即
SELECT *
FROM Report_Sales
WHERE Date >= '2014-04-18T21:26:01Z'
AND Date <= '2014-04-18T22:26:01Z'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.