c# - 验证日期是否在 SqlDbType.DateTime 范围内

标签 c# sql-server datetime ado.net sqldbtype

我想在将 System.DateTime 值作为参数添加到我的 SqlCommand 实例之前对其进行验证。

SqlDbType 枚举的 MSDN 文档说:

日期和时间数据,取值范围从 1753 年 1 月 1 日到 9999 年 12 月 31 日,精度为 3.33 毫秒。

为了验证值,我正在使用

public readonly DateTime SqlDateTimeMin = new DateTime(1753, 1, 1);
public readonly DateTime SqlDateTimeMax = new DateTime(9999, 12, 31);

if (value < SqlDateTimeMin || value > SqlDateTimeMax)
    // Validation check fails
else
    // Validation check succeeds

这是最好的方法吗?除了对这些最小值和最大值进行硬编码之外,还有其他方法吗?

最佳答案

SqlDateTime.MinValue呢?和 SqlDateTime.MaxValue

注意:这些是 SQL 最小/最大类型,而不是像前 2 个答案那样的 .net 类型 :-)

关于c# - 验证日期是否在 SqlDbType.DateTime 范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081156/

相关文章:

php - 将 php 日期时间值与 mysql 查询进行比较

java - 在java中将日期转换为字符串并返回日期

c# - 使用 OpenCV(C#、emgu cv)检测屏幕上的输入文本字段

sql-server - 为什么安装后找不到 SQL Server Management Studio?

c# - 查询字符串的 SQL 注入(inject)技术

sql-server - 可以在不更新的情况下将旧版本的 MYSQL 数据库恢复到 SQL Server 2017 中吗?

python - 创建日期对象时出现TypeError

c# - 有没有办法在 Windows 10 中使用蓝牙 LE 库 C# 与传感器或微 Controller 进行通信?

c# - linq to sql语法不同但应该得到相同的结果

c# - 如何在vscode中禁用Unnecessary Using of Directive的警告?