• 插入SQL时系统报:System.Data.SqlTypes.SqlTypeException: SqlDateTime 溢出错误
  • 发布于 2个月前
  • 585 热度
    1 评论
  • 我怕黑
  • 22 粉丝 39 篇博客
  •   
我在用Linq执行插入数据库操作时,系统报这样的错误提升:System.Data.SqlTypes.SqlTypeException: SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间
   在 System.Data.SqlTypes.SqlDateTime.FromTimeSpan(TimeSpan value)
   在 System.Data.SqlTypes.SqlDateTime.FromDateTime(DateTime value)
   在 System.Data.SqlClient.MetaType.FromDateTime(DateTime dateTime, Byte cb)
   在 System.Data.SqlClient.TdsParser.WriteValue(Object value, MetaType type, Byte scale, Int32 actualLength, Int32 encodingByteSize, Int32 offset, TdsParserStateObject stateObj)
   在 System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)

   在 System.Data.Common.DbCommand.ExecuteReader()

数据库表有个CreateTime的日期字段,我在提交前赋值时已按如下赋值:

KPIDetailInfo insertItem = new KPIDetailInfo();
insertItem.Year = item.Year;
insertItem.Quarter = item.Quarter;
insertItem.KPITypeID = item.KPITypeID;
insertItem.HierarchyName = item.HierarchyName;
insertItem.StandardPercent = "100%";
item.IsDeleted = "N";
item.CreateTime = System.DateTime.Now;


用户评论
  • 孤寂成海
  • 你是不是赋值对象赋错了?导致insertItem对象没有给CreateTime 属性赋值?或者debug下代码,看SQL执行前CreateTime属性的值是多少。

  • 2022/9/20 19:59:00 [ 0 ] [ 0 ] 回复