我在存储过程中有一个复杂的SQL查询,它是从C调用的。
该过程需要一个日期时间,我从C作为date time对象传入,问题似乎是以日期的格式出现的。如果我将参数更改为字符串并将其作为'yyyy-mm-dd'传入,它就可以正常工作。
是否仍要使用日期时间对象?
是否设置存储过程参数 SqlDbType 属性到 SqlDbType.DateTime ?
SqlDbType
SqlDbType.DateTime
SqlParameter p = sqlCmd.Parameters.Add("@date", System.Data.SqlDbType.DateTime); // set value p.Value = DateTime.Now;
(更新)
另外,我发现了这个 related question .