gpt4 book ai didi

c# - 处理数据库中的空值

转载 作者:行者123 更新时间:2023-12-02 09:44:42 26 4
gpt4 key购买 nike

我正在查询的数据库返回一些空值。我如何防范这种情况并确保调用者获得一些数据。

我的代码是:

使用数据读取器

        while (dr.Read())
{
vo = new PlacementVO();
vo.PlacementID = dr.GetString(0);

如果我使用数据集,我可以这样做。

 obj.email = (row["email"] == DBNull.Value) ? String.Empty : Convert.ToString(row["email"]);

谢谢

最佳答案

如果您使用序数(您确实如此),则有 IsDBNull(int ordinal)

所以:

string email = reader.IsDBNull(0) ? null : reader.GetString(0);

如果您使用字符串列名称,那么要使用它,您必须首先调用 GetOrdinal,例如:

string GetSafeString(this IDataReader reader, string name)
{
int index = reader.GetOrdinal(name);
return reader.IsDBNull(0) ? null : reader.GetString(0);
}

当然,只查找序数一次而不是每行查找一次会更快。

类似的方法可用于 int? 等,或使用默认值而不是 null。

关于c# - 处理数据库中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/377185/

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