【发布时间】:2017-09-23 10:05:34
【问题描述】:
我有一个 asp.net 网站。我正在使用 linq to sql。我将插入到 mssql 数据库中的行。但它不会转换为日期时间。我收到错误:
错误 - SqlDateTime 溢出。必须在 1753 年 1 月 1 日凌晨 12:00:00 到 12/31/9999 晚上 11:59:59
我的代码:
MyDataContext myData = new MyDataContext();
EVRBA evrbas = new EVRBA();
string Mydate= DateTime.Today.ToString("dd-MM-yyyy");
evrbas.EVRAKTARIH =Convert.ToDateTime(Mydate);
try
{
myData.EVRBAs.InsertOnSubmit(evrbas);
myData.SubmitChanges();
}
catch (Exception)
{
throw;
}
【问题讨论】:
-
将数据库中的 datetime 列更改为 datetime2
-
您将
DateTime转换为string,然后将string转换回DateTime,这是为了什么?并使用.ToString("MM/dd/yyyy")而不是.ToString("dd-MM-yyyy") -
@Tadej 我在写 evrbas.EVRAKTARIH=DateTime.Today.ToString("dd-MM-yyyy");然后我得到了错误。但是我在转换 adn 问题正在解决Convert.toDateTime(DateTime.Today.ToString("dd-MM-yyyy"));
-
@Tadej 为什么是
MM/dd/yyyy?英国的计算机如何理解这一点?也许您应该提倡所有计算机都可以理解的东西,无论区域如何,即yyyy/MM/dd。或者,更好的是,.ToString("o") -
它返回了错误的日期值.. 是你的问题.. 没有转换日期时间值。
标签: c# asp.net sql-server linq datetime