【发布时间】:2011-09-21 11:54:20
【问题描述】:
我想将 .Net DateTime 作为参数添加到 SqlDataSource。我知道如何添加参数,但我需要尽可能精确地添加 DateTime。它需要非常精确,因为有些表使用日期时间列作为键,如果发送的日期时间不够精确,连接将无法正常工作。
旧的方式(没有 SqlDataSource)是这样的:
SqlCommand cmd = new SqlCommand();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "PosT2sNwu.RPT_GetFundTransactions";
cmd.Parameters.Add(new SqlParameter("@FromDate", fromDate));
似乎SqlDataSource 的参数只带字符串。
所以问题是:如何格式化字符串(从 .Net DateTime 生成),以便它在存储过程中尽可能精确(精确到毫秒,甚至微秒)?
【问题讨论】:
-
试用 fromDate.ToString("yyyy/MM/dd HH:mm:ss fffffffzz"),
-
格式化日期是万恶之源。
-
是的。我不明白为什么微软决定退后一步,只允许您将参数设置为字符串。为什么不允许我直接设置 DateTime 对象?
-
fromDate.ToString("yyyy/MM/dd HH:mm:ss fffffffzz") 不起作用,但是 fromDate.ToString("yyyy/MM/dd HH:mm:ss fffffff") (没有 zz)似乎有效。
标签: .net asp.net sql-server