0

嗨,我有一个程序使用 DateTime.Now.ToString() 来获取时间,然后将其插入到 smalldatetime 的 coloum 中。这以前有效,但现在我收到此错误。

“将表达式转换为数据类型日期时间的算术溢出错误。语句已终止。”

我究竟做错了什么?

这是我的 SQL 语句

command.CommandText = @" INSERT INTO Mail1 (UserID, Subject, Feedback, Date_Sent_On)
                         VALUES (@UserID, @Subject, @Feedback, @Date_Sent_On)";
4

2 回答 2

2

@Date_Sent_On参数应该是类型而DateTime不是你应该作为它的值string传递。DateTime.Now

使用DateTime.Now.ToString()是非常不可靠的,因为格式化日期ToString()取决于文化 - 根据您计算机的区域设置和应用程序中的文化设置,它可能会产生不同的结果。

于 2012-11-15T18:55:16.580 回答
-1

你也可以使用

requestdatetime between '7/1/2011' and GETDATE()

在您的 SQL 语句中获取当前日期。

我还发现有时使用这样的东西很有帮助:

SELECT 
  cast(datepart(mm, M.REquestdatetime) as varchar) + '/'
  + cast(datepart(yy, M.REquestdatetime) as varchar) as [Day]
FROM ...

这为您提供了将结果显示为MM-YYYY等方面的灵活性。

于 2012-11-15T19:03:04.003 回答