小编div*_*ver的帖子

SqlDataReader检查空值的最佳方法-sqlDataReader.IsDBNull vs DBNull.Value

我想从数据库中检索十进制值,我想知道检查空值的推荐方法.

我在MSDN上看到过- DBNull.Value字段很少使用此检查.

因此,reader.IsDBNull检查空值是最好/最有效的方法吗?

我创建了2个示例方法:

public static decimal? GetNullableDecimal(SqlDataReader reader, string fieldName)
{
    if (reader[fieldName] == DBNull.Value)
    {
        return null;
    }
    return (decimal)reader[fieldName];
}

public static decimal? GetNullableDecimal_2(SqlDataReader reader, string fieldName)
{
    if (reader.IsDBNull(reader[fieldName]))
    {
         return null;
    }
    return (decimal)reader[fieldName];
}
Run Code Online (Sandbox Code Playgroud)

大多数情况下,字段将为空.

提前致谢!

c# ado.net dbnull sqldatareader

12
推荐指数
3
解决办法
3万
查看次数

标签 统计

ado.net ×1

c# ×1

dbnull ×1

sqldatareader ×1