我正在尝试创建一个检查日期的方法,以查看它是否已存在于我的数据库中。但是,我得到一个例外,该程序无法从varchar转换。任何人都能告诉我它为什么会这样做?
public static int CheckDate(DateTime date)
{
using (SqlConnection connection = new SqlConnection(_connectionstring))
{
int nooforders = 0;
connection.Open();
string SqlQuery = string.Format("SELECT COUNT(OrderID) AS 'OrderCount' FROM OrderTable WHERE DateofCollectionDelivery = '{0}'", date);
SqlCommand datecheck = new SqlCommand(SqlQuery, connection);
SqlDataReader sqlDataReader = datecheck.ExecuteReader();
while (sqlDataReader.Read())
{
nooforders = (int)sqlDataReader["OrderCount"];
}
connection.Close();
return nooforders;
}
}
这是我运行的方法,这是例外:
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
Additional information: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
表中的字段的数据类型为datetime,因此我不确定它为什么会抛出异常。
答案 0 :(得分:1)
尝试以下链接中提供的解决方案: SQL - The conversion of a varchar data type to a datetime data type resulted in an out-of-range value
或试试这个
答案 1 :(得分:-1)
使用格式mm / dd / yyyy或yyyy-mm-dd。使用DateTime.Parse()函数将日期解析为此格式。