出现“无法对 Null 值调用此方法或属性”错误

2024-01-02

更新1:

该行抛出异常:

client_group_details.Add(new ClientGroupDetails(

原问题:

我有以下代码,我已将其从数据库中的 30 列数据精简为仅 2 列。每当任何列返回 NULL 值时,我都会收到错误:

public class ClientGroupDetails
{
    public String Col2;
    public String Col3;

    public ClientGroupDetails(String m_Col2, String m_Col3)
    {
        Col2 = m_Col2;
        Col3 = m_Col3;
    }

    public ClientGroupDetails() { }
}

[WebMethod()]
public List<ClientGroupDetails> GetClientGroupDetails(string phrase)
{
    var client_group_details = new List<ClientGroupDetails>();

    using (connection = new SqlConnection(ConfigurationManager.AppSettings["connString"]))
    {
        using (command = new SqlCommand(@"select col2, col3 where col1 = @phrase", connection))
        {
            command.Parameters.Add("@phrase", SqlDbType.VarChar, 255).Value = phrase;

            connection.Open();
            using (reader = command.ExecuteReader())
            {
                int Col2Index = reader.GetOrdinal("col2");
                int Col3Index = reader.GetOrdinal("col3");

                while (reader.Read())
                {
                    client_group_details.Add(new ClientGroupDetails(
                        reader.GetString(Col2Index),
                        reader.GetString(Col3Index)));
                }
            }
        }
    }

    return client_group_details;
}

我收到的错误是:

数据为空。不能对 Null 值调用此方法或属性。

我不知道在这里要做什么来处理 NULL 值,因为上面的代码是一个精简版本。

有人知道如何解决这个问题吗?


这是因为reader.GetString不应该被召唤DBNull价值观。尝试按如下方式更改您的代码:

client_group_details.Add(new ClientGroupDetails(
    reader.IsDbNull(Col2Index) ? null : reader.GetString(Col2Index),
    reader.IsDbNull(Col3Index) ? null : reader.GetString(Col3Index)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

出现“无法对 Null 值调用此方法或属性”错误 的相关文章

  • 无法在 QGLWidget 中设置所需的 OpenGL 版本

    我正在尝试在 Qt 4 8 2 中使用 QGLWidget 我注意到 QGLWidget 创建的默认上下文不显示 OpenGL 3 1 以上的任何输出 Qt wiki 有一个教程 http qt project org wiki How t
  • 为什么 std::vector 可以处理类定义中的不完整类型?

    出现了以下问题 C 标准似乎说 std vector需要一个完整的类型才能工作 看https en cppreference com w cpp container vector https en cppreference com w cp
  • 错误:表达式不可赋值三元运算符

    我有以下代码 MPLABX XC8 编译器给出此错误 错误 表达式不可分配 U1ERRIRbits RXFOIF uart1 oerr 1 uart1 oerr 0 这是相关代码部分 typedef union struct bool fe
  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • 在 LINQ 查询中进行转换

    是否可以在 LINQ 查询中进行强制转换 为了编译器的缘故 下面的代码并不糟糕 但最好将其放入一个查询中 Content content dataStore RootControl as Controls Content List
  • C++中类成员函数相互调用有什么好处?

    我是 C 新手 我发现下面的编程风格对我来说很有趣 我在这里写了一个简化版本 include
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 用于 C++ 中图像分析的 OpenCV 二进制图像掩模

    我正在尝试分析一些图像 这些图像的外部周围有很多噪声 但内部有一个清晰的圆形中心 中心是我感兴趣的部分 但外部噪声正在影响我对图像的二进制阈值处理 为了忽略噪音 我尝试设置一个已知中心位置和半径的圆形蒙版 从而使该圆之外的所有像素都更改为黑
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 自己绘制的WPF自定义滑块

    这是我关于堆栈溢出的第一个问题 所以不要踢它 我在尝试创建 Mac 风格的滑块控件时遇到问题 我已经发现这个解决方案 http www codeproject com KB miscctrl MAC Slider aspx我已经在我的解决方
  • X 轴和 Z 轴上的 Quaternion.Slerp,无 Y 轴

    I am trying to rotate the Player about X Y and Z axis The Y axis should not move from last angle Example if I rotate 45
  • 让 Windows 尝试读取文件

    我正在对 Windows 文件系统进行某种封装 当用户请求打开文件时 Windows 调用我的驱动程序来提供数据 在正常操作中 驱动程序返回缓存的文件内容 但是 在某些情况下 实际文件没有缓存 我需要从网络下载它 问题是是否有可能让 Win
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • C++ 中的析构函数

    我的 AB h 文件中有一个构造函数 class AB private int i public AB i 0 constructor AB i 0 destructor virtual void methodA unsigned int
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que
  • 使用空的weak_ptr作为参数调用map::count安全吗?

    打电话安全吗map count http www cplusplus com reference map map count on an 未初始化因此为空weak ptr http en cppreference com w cpp mem
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • 无法让多页jquery mobile与谷歌地图一起使用

    我有 jQuery Mobile 与谷歌地图一起使用 这样我就可以显示一个独立的页面 其中包含一张占据全屏的地图 但是 我不知道如何制作一个简单的两页示例 其中有一个按钮可以将我带到地图 我很困惑为什么所有示例的正文标签中都有 javasc
  • 为什么我的解决方案无法找到二叉树的最小深度?

    我不明白我的寻找二叉树最小深度的解决方案为什么不起作用 我究竟做错了什么 如果您好奇 这里有一个问题的链接 https leetcode com problems minimum depth of binary tree submissio
  • 如何将我的本地主机指向公共IP地址[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我刚刚设置了一个WAMP 2 2 localhost在我的电脑上 我的一切都运行正常 我可以执行 PHP MYSQL 等 现在我想知道如何将我的本地主
  • 有哪些库可帮助创建手机 2D Java 游戏?

    我想开始为手机开发 2D Java 游戏 在 J2ME 上 因此我想知道是否存在任何库或 引擎 来帮助完成各种图形任务 用像素字体绘制文本 为具有多个帧的精灵绘制位图 如动画 GIF 使用代码 线条 贝塞尔曲线 洪水填充和绘制图形渐变填充
  • 操作系统中的共享内存段

    共享内存属于哪里 这意味着它由每个单独的进程拥有 如堆栈和堆 所以 其他程序不能 能够访问其他程序的堆栈 或者它是由任意数量的进程使用的公共内存段 这 下图以图解方式显示了我的问题 图1 stack stack stack Shared m
  • 链接 clang-llvm

    我一直在使用 clang llvm 开发一个小工具 但我无法成功让 g 和 gnu 的链接器将我的代码与 clang 正确链接 我的链接器生成以下错误 undefined reference to clang FileManager Fil
  • 在 Heroku Server django 上安装 poppler

    我正在尝试安装poppler在我的 Heroku 服务器上 因为我正在使用pdf2image作为一个Python包 然而 我不能就这么跑brew install poppler就像我在 Mac 上所做的那样 我尝试从互联网上添加一些 Her
  • 使用 ng-model 命名数组

    我有一个添加按钮 它使用指令添加到表的 estimates tbody function EstimateCtrl scope compile scope services value c name Standard Courier val
  • locationManager:rangingBeaconsDidFailForRegion:withError: kCLErrorDomain 16

    我读过了CLLocationManager kCLErrorDomain 代码 https stackoverflow com questions 20164952 cllocationmanager kclerrordomain code
  • Ruby 中识别方法的 # 约定的基本原理/历史是什么?

    例如 我总是看到称为String split 但从来没有String split 这似乎更符合逻辑 或者甚至可能String split 因为你可以考虑 split位于命名空间中String 当类被假定 隐含时 我什至单独看到了该方法 sp
  • 获取iframe的文档对象

    我正在尝试获取 iframe 的文档对象 但我在 google 上搜索到的示例似乎都没有帮助 我的代码如下所示
  • 追加到 /etc/apt/sources.list

    我正在创建一些脚本来简化应用程序安装 我需要附加到 etc apt sources list 的末尾 下面的代码附加到 中的文件 但不附加到 etc apt 中 echo deb http ppa launchpad net person
  • 如何获取 JavaScript 对象的大小?

    我想知道 JavaScript 对象占用的大小 取以下函数 function Marks this maxMarks 100 function Student this firstName firstName this lastName l
  • ReactJS 中的登录页面与单页应用程序 (SPA) 分离

    我正在 ReactJS 中开发一个单页面应用程序 SPA 我想知道如何在单独的页面中拥有登录页面 我在用create react app作为我的应用程序的基础 我目前正在定义 SPA 的模板App js文件 以及不同 js 文件中的每个组件
  • 验证错误后重定向到操作

    如果我有通常的 编辑 操作 则 GET 操作可以通过对象的 ID 检索对象并将其显示在编辑表单中 接下来 POST 获取 ViewModel 中的值并更新数据库中的对象 public virtual ActionResult Edit in
  • 基于深色模式的 Tailwind 颜色

    有没有办法在顺风配置中定义不同的颜色 以便在不使用深色模式的情况下应用深色模式dark选择器 目前我有一个像这样的对象 const colors light red 100 880808 dark red 100 red I d like只
  • 对数组数字(包括作为字符串的数字)求和的函数

    我有一个函数需要对数组中的所有数字求和 如果这些数字是字符串 1 2 该函数也需要对它们求和 我编写了一个函数并尝试解析数字 但它不起作用 基本上 它需要将所有数字相加 你能在不使用的情况下做到这一点吗reduce 我需要一个简单的解决方案
  • YUI Compressor Maven Mojo 缩小 javascript 的使用

    我在做一个struts2项目 使用maven来编译 我正在尝试缩小位于不同位置的 javascript 文件
  • JMeter 响应时间与线程图 - 数据点

    该图使用什么数据点 该图表示 TTFB 到第一个字节的时间 还是 TTLB 到最后一个字节的时间 以下是设置 该图表示 TTLB 到最后一个字节的时间 因为它使用 JMeter 的响应时间 如果你想要TTFB 第一个字节的时间 你需要使用L
  • 出现“无法对 Null 值调用此方法或属性”错误

    更新1 该行抛出异常 client group details Add new ClientGroupDetails 原问题 我有以下代码 我已将其从数据库中的 30 列数据精简为仅 2 列 每当任何列返回 NULL 值时 我都会收到错误