【发布时间】:2016-01-22 17:28:26
【问题描述】:
我有一个返回此错误的 SQL 查询:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围
这是查询:
POQuery = "SELECT Distinct PurchaseOrders.POrderID, PurchaseOrders.VendorName, PurchaseOrderDetail.ArrDate "
+ "FROM PurchaseOrders "
+ "FULL JOIN PurchaseOrderDetail ON PurchaseOrders.POrderID = PurchaseOrderDetail.POrderID "
+ "WHERE PurchaseOrders.Buyer = @Buyer and ArrDate >= convert(DateTime, '"
+ datePickerStart.Value.ToString("mm/dd/yyyy") + "') and ArrDate <= convert(DateTime, '"
+ datePickerEnd.Value.ToString("mm/dd/yyyy") + "')";
我正在使用日期选择器来选择日期。
【问题讨论】:
-
来吧 - 更努力地格式化问题
-
对不起,我是新手,这是一种紧急情况。
-
发布 POQuery 的值 - 正是发送到 SQL 的内容
-
datePickerStart.Value.ToString = 1/22/2016 9:14:44 AM && datePickerEnd.Value.ToString 具有相同的值
-
您确实应该使用参数,那么您不需要将
DateTime转换为字符串,只需将其转换回SQL中的日期即可。
标签: c# sql-server