C# 日期时间 SqlNullValueException : Data is Null

标签 c# mysql datetime null

我开始 MySQL 查询,查询一个列表,其中一个值是 DateTime 对象。在构建此列表时,它会遇到一个空值并且 --- DateTimeSqlNullValueException: Data is Null

首先,我天真地尝试使用 ISNULL!=NULL==NULL...,它们不是 DateTime 对象的方法。然后我试了一下

queryResult.EventTime = rdr.GetDateTime("timeIn");

if (Convert.IsDBNull(rdr.GetDateTime("timeIn")))
{
    Console.Write("yeup it's null");
    queryResult2.EventTime = DateTime.MinValue;
}

这也没有用。

然后我虽然不是 rdr.GetDateTime() 我想也许可以使用 GetString() 并使用字符串的方法来测试 null 然后将其更改回DateTime 并将其设置为 DateTime.MinValue,以便稍后在 View 中解决它。这似乎是一个完整的问题,而且不是很优雅。所以我一直在寻找可以测试 rdr.GetDateTime("timeIn"); 是否为空并将其设置为 DateTime.MinValue

的衬垫

最佳答案

在您知道值不为空之前不要使用GetDateTime:

if (rdr.IsDBNull(rdr.GetOrdinal("timeIn"))))
{
    Console.Write("yeup it's null");
    queryResult2.EventTime = DateTime.MinValue;
}
else
{
    queryResult.EventTime = rdr.GetDateTime("timeIn");
}

关于C# 日期时间 SqlNullValueException : Data is Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796087/

相关文章:

c# - ZXing-Core BitMatrix转BitMap

c# - 将水平线和垂直线分组到表中 (C#)

javascript - 将用户输入的确切日期从 Javascript 传递到 .NET

python - 名称错误 : name 'datetime' is not defined

python - 特定时间范围内 pandas 数据帧的值的总和

c# - 连接必须有效且打开。 MySql 5.2 错误

c# - 将泛型方法中的 T 参数转换为 DateTime

mysql - 从 XML Paradox 导入 CoreData

mysql - 尝试将 R 与 MySQL : The used command is not allowed with this MySQL version 一起使用

mysql - 如何通过控制台禁用对数据库导入的外键检查?