首先,我得到的错误如下:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
我所做的是将一组数据从 SQL 数据库返回到数据表中,从那里我if
在 c# 代码端运行一条语句来确定一个日期是否大于另一个日期。这在许多部署中都有效,但是在新服务器上的特定部署会导致上述错误。
这是我的代码:
if
(
Convert.ToDateTime(ds.Tables[0].Rows[0]["StartDate"].ToString()).Date >
Convert.ToDateTime(ds.Tables[0].Rows[0]["OriginalStartDate"].ToString()).Date
)
{
... do stuff ...
}
我的理解是,转换为字符串的列内的数据在尝试执行时失败Convert.ToDateTime()
然而,令人困惑的问题是此代码已在其他服务器上运行,并且此问题是孤立的。所以我知道它可能是服务器独有的,但我不知道在哪里看。
不幸的是,更改任何区域设置等都不是一种选择,因此我正在尝试解决此问题!
任何帮助表示赞赏!