我有一个复杂的SQL查询,我在存储过程中使用C#进行调用。
该过程需要一个日期时间,我从c#作为DateTime对象传入,问题似乎与日期的格式有关。如果我将参数更改为字符串并将其作为'yyyy-MM-dd'传递它可以正常工作。
无论如何都要使用datetime对象吗?
答案 0 :(得分:3)
您是否将存储过程参数SqlDbType
属性设置为SqlDbType.DateTime
?
SqlParameter p = sqlCmd.Parameters.Add("@date", System.Data.SqlDbType.DateTime);
// set value
p.Value = DateTime.Now;
(更新)
另外,我发现了related question。