我正在使用代码从我的代码中调用存储过程SqlCommand
,其中一些参数是DateTime
类型的,当从 Management Studio 调用过程时,我使用以下格式yyyy-MM-dd
,2011-01-01
并相应地返回结果。
在我的 C# 代码中,我正在创建如下DateTime
对象:
DateTime dateFrom = new DateTime(2011,01,01);
当我运行应用程序时,日期被完全忽略,所有数据都被返回。在相应的调试之后,我注意到DateTime
对象的格式是:{01/01/2011 00:00:00}
所以这可能是导致问题的原因。
参数被添加到SqlCommand
这样的:
cmd.Parameters.AddWithValue("@DateFrom", SqlDbType.DateTime);
请问有什么想法吗?
复制代码:
using (SqlConnection conn = new SqlConnection(connectionString))
{
DateTime dateFrom = new DateTime(2011,01,01);
DateTime dateTo = new DateTime(2011, 01, 31);
SqlCommand cmd = new SqlCommand(strStoredProcName, conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@DateFrom", SqlDbType.DateTime);
cmd.Parameters.AddWithValue("@DateTo", SqlDbType.DateTime);
cmd.Parameters["@DateFrom"].Value = dateFrom;
cmd.Parameters["@DateTo"].Value = dateTo;
}