sql-server - 哪一列导致“将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围”?
问题描述
有什么方法可以确定是哪一列导致了问题?是的,我可以手动查看我尝试插入/更新的对象并检查所有属性,但我正在寻找更强大的解决方案。例如,SQL Server现在返回截断的列。有没有等价物datetime
?
SqlException:将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。该语句已终止。
是的,我确定我有一个System.DateTime
this isSystem.DateTime.Minimum
并且 SQL Server 中的列定义为datetime
. 我知道修复。
解决方案
此 SqlException 的原因是 System.DateTime.Minimum 返回的最小日期是01/01/0001
SQL Server 仅支持从01/01/1753
.
如果我没记错的话,您可以SqlDataTime.MinValue
在 .NET 中使用它应该可以解决您的问题。
推荐阅读
- algorithm - 在有向无环图的分裂和合并处插入节点
- c++ - msvc 的动态数组初始化行为不同于 gcc 和 clang
- ios - 如何防止iOS应用缓存任何数据
- amazon-ec2 - AWS - 通过 kubectl 创建的网络负载均衡器缺少 SSL 证书
- c# - Xamarin 将 ListView 大小(高度)转换为内容?
- python - 直接从 gc.get_objects 中删除对象?
- flutter - 无法在 compute() 函数中使用 http.post
- javascript - jQuery不使用选定的元素
- laravel - Laravel 6 显示白色空白页而不是错误消息
- arrays - 如何根据其索引从数组中提取值