我在用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属性的值是多少。