gpt4 book ai didi

c# - ExecuteScalar() 有时会返回空对象而不是空对象。为什么?

转载 作者:行者123 更新时间:2023-11-30 13:46:46 25 4
gpt4 key购买 nike

ExecuteScalar() 有时返回空对象 - 而不是 null- 尽管记录存在。当我用 quickwatch 分析这个对象时,我看到 object.GetType() 等于 DbNull。我可以处理这个空对象,但我需要知道为什么它有时会返回空对象,尽管记录存在。

string sql = @"SELECT SentDate 
FROM dbo.EmailOut
WHERE ID = @ID";
SqlCommand cmd = new SqlCommand(sql, _cnn);
cmd.CommandType = System.Data.CommandType.Text;
cmd.Parameters.Add(new SqlParameter("@ID", ID));
object obj = cmd.ExecuteScalar();
if (obj == null)
return false
sentDate = (DateTime)obj;
cmd.Dispose();

大多数时候我的查询运行完美。你能检查我的代码吗?

最佳答案

null 的返回值意味着没有找到记录。

DBNull 的返回值表示找到了一条记录,但该记录中的 SentDate 值为 NULL

关于c# - ExecuteScalar() 有时会返回空对象而不是空对象。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19854715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com