gpt4 book ai didi

c# - SqlDataReader.GetString 和 sqlnullvalueexception

转载 作者:IT王子 更新时间:2023-10-29 04:17:56 30 4
gpt4 key购买 nike

我是 C# 新手。我正在使用 System.Data.SqlClient 类从数据库表中执行一些选择查询。我在执行某些选择查询时遇到了 sqlnullvalueexception。通过谷歌搜索,我了解到如果数据库中的值为 null,则 SqlDataReader.GetString(或其变体)将抛出 sqlnullvalueexception。这方面的最佳编码实践是什么?

if (!sqlDataReader.IsDBNull(n)) value = r.GetString(n);

有更好的编码方式吗?

最佳答案

如果你不想重复很多,只需创建一个辅助函数,如下所示:

public static class DataReaderExtensions
{
public static string GetStringOrNull(this IDataReader reader, int ordinal)
{
return reader.IsDBNull(ordinal) ? null : reader.GetString(ordinal);
}

public static string GetStringOrNull(this IDataReader reader, string columnName)
{
return reader.GetStringOrNull(reader.GetOrdinal(columnName));
}
}

你可以这样调用:

value = reader.GetStringOrNull(n);

关于c# - SqlDataReader.GetString 和 sqlnullvalueexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1222116/

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