一尘不染

将datetime2数据类型转换为datetime数据类型会导致超出范围的值

c#

我有一个包含5列的数据表,其中一行被数据填充,然后通过事务保存到数据库中。

保存时,返回错误:

从datetime2数据类型到datetime数据类型的转换导致值超出范围

从读取的角度看,这意味着DateTime2我的数据表的类型为,数据库为a DateTime;那是错的。

日期列设置为DateTime如下所示:

new DataColumn("myDate", Type.GetType("System.DateTime"))

可以在代码中解决此问题,还是必须在数据库级别进行某些更改?


阅读 724

收藏
2020-05-19

共1个答案

一尘不染

您在该栏中有什么样的日期?

它们是否都适合类型范围?


顺便说一句,TypeDataColumn构造函数获取对象的正确方法是typeof关键字,它的速度快了几个数量级。

因此,要创建列,您应该编写

new DataColumn("myDate", typeof(DateTime))
2020-05-19