【发布时间】:2019-05-23 10:05:08
【问题描述】:
我将 fromdate 和 todate 从 ASP.NET 代码传递到 SQL Server,但在此过程中,我得到两个日期的空值。
ASP.NET 代码:
using (SqlCommand cmd = new SqlCommand("PRRNASTIEDOWNLOAD_Client", sqlConn))
{
cmd.Parameters.AddWithValue("@FROMDATE", System.DateTime.Now.ToString("yyyy-mm-dd", System.Globalization.CultureInfo.InvariantCulture));
cmd.Parameters.AddWithValue("@TODATE", System.DateTime.Now.ToString("yyyy-mm-dd", System.Globalization.CultureInfo.InvariantCulture));
if (sqlConn.State != ConnectionState.Open)
{
sqlConn.Open();
}
SqlDataReader rdr = cmd.ExecuteReader();
dt.Load(rdr);
}
但我在程序中将日期值设为 null
【问题讨论】:
-
请不要将您的日期转换为字符串只是为了将它们传递到存储过程中!!!在存储过程接口中将参数定义为
DATE或DATETIME,然后在C#中将它们作为DATETIME传递! -
不相关提示:SqlDataReader 是 IDisposable 所以应该在
using块中。您可能想阅读can we stop using AddWithValue。 -
嗨,我知道你是新来的。如果您认为某个答案解决了问题,请通过单击答案旁边的灰色复选标记将其标记为“已接受”。检查此链接以了解接受答案的工作原理:meta.stackexchange.com/questions/5234/…
标签: c# asp.net sql-server stored-procedures ado.net