执行标量之后:未设置对象引用等

2023-12-02

我应该添加什么代码来接受 WHERE 语句中的 null 。

{
    int numApprovals = 0;
    string sql = "SELECT COUNT(Type) AS OpenforApproval " +
       "FROM dbo.LeaveRequest " +
       "WHERE Type IN (2, 3, 4, 5, 6, 8, 13, 14, 16, 22) " +
       "GROUP BY MgtApproval " +
       "HAVING MgtApproval IS NULL";
       //"SELECT COUNT(EffectiveDate) AS OpenforApproval FROM LeaveRequest GROUP BY TimeStampApproval HAVING (TimeStampApproval IS NULL)";

    using (cn = new SqlConnection(ConnectionString()))
    {
        cn.Open();
        using (cmd = new SqlCommand(sql, cn))
        {
            cmd.CommandType = CommandType.Text;
            numApprovals = (int)cmd.ExecuteScalar();
        }
    }

    return numApprovals;
}

Just:

WHERE Type IN (2, 3, 4, 5, 6, 8, 13, 14, 16, 22) OR Type IS NULL

但我完全不相信这就是你真正想要的,或者问题的原因。

如果您在 C# 代码中遇到异常,它不会来自 where 子句。

顺便说一句,我担心您的连接似乎正在重用现有变量。馊主意。几乎可以肯定它应该是一个局部变量。您还可以通过从中间返回来使代码更简单:

string sql = ...;

using (var cn = new SqlConnection(ConnectionString()))
{
    cn.Open();
    using (cmd = new SqlCommand(sql, cn))
    {
        cmd.CommandType = CommandType.Text;
        return (int) cmd.ExecuteScalar();
    }
}    

如果问题如 Jamie 所说,ExecuteScalar 返回 null,最简单的解决方法是将其转换为可为 null 的 int 并使用 null 合并运算符:

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

执行标量之后:未设置对象引用等 的相关文章

随机推荐

  • 如何在 JSF 中控制 http 标头?

    PF 3 5 4 0 Omnifaces 1 6 3 Mojara 2 1 21 是否可以控制将在 JSF xhtml 页面内部发送的 http 标头 我的意思是 xhtml
  • setContextProperty() 不会在 qml 文件中创建类实例

    The main py文件显示一个选项卡小部件 在每个选项卡上 我加载了一个特定的 qml 文件 但为了解决这个问题 我将只考虑一个 qml 文件和一个选项卡 import sys os math import numpy as np fr
  • 通过 Javascript 检测新的 Microsoft Edge v80 (Blink) 的正确方法是什么?

    由于最新版本的 Microsoft Edge 是out并使用 Blink 使用 javascript 区分旧边缘和新边缘的正确方法是什么 目前我计划研究一下navigator userAgent检查旧版本的 Edge 最多 18 个 con
  • requestInterstitialAdPresentation 只能运行一次

    我想知道为什么 self requestInterstitialAdPresentation 只能工作一次 我的意思是 我将此调用绑定到 UIButton 中 第一次运行我的应用程序 然后单击此按钮 广告会正确显示 但是 当我关闭广告并尝试
  • 如何确保运行代码时控制台不会立即关闭?

    我正在尝试学习 C 编程 但是当我运行代码时 cmd 窗口立即关闭 而没有给我更改以查看程序是否打印了我想要的结果 我正在 VS Code 上使用多个扩展对 C 进行编码 是否有设置 扩展 代码片段 或者我可以做些什么 使它不会立即关闭 T
  • C++ - 传递对 std::shared_ptr 或 boost::shared_ptr 的引用

    如果我有一个需要与shared ptr 将其传递给它的引用不是更有效吗 这样可以避免复制shared ptr目的 可能有哪些不良副作用 我设想两种可能的情况 1 在函数内部 由参数组成一个副本 如 ClassA take copy of s
  • 获取p标签的行高[重复]

    这个问题在这里已经有答案了 我想计算出一个的行高 p div 内的标签 var myp document getElementById myp var heightLabel document getElementById heightLa
  • 在 TextMate 问题中用反向引用替换

    我正在使用 TextMate 来替换表达式 my expression 由开括号和闭括号之间的字符组成 my expression 所以我尝试更换 by 1 正则表达式匹配正确的表达式 但替换给出 1 因此该变量不被识别 有人可以有想法吗
  • Google Chart:如何更改负值的颜色

    我目前有一个使用 GoogleCharts 的漂亮的 AreaChart 但是我试图在值为负时更改图表的颜色和背景颜色 根据我的发现 想法是仅显示一个区域用于正值 而另一个区域用于显示负值 以便我可以自定义颜色 然而你可以在下面看到我并没有
  • 当状态是对象数组时更新 React 状态

    我有一个处于状态的对象数组 this state items id 1 someattr a string anotherattr id 2 someattr another string anotherattr id 3 someattr
  • Android ViewPager 方向更改

    我读过 安东尼特的回答这个StackOverflow问题 that FragmentPagerAdapter将尝试重用通过以下方式找到的现有片段FragmentManager findFragmentByTag 方向改变后 我已经尝试过了
  • 具有固定行数和列数的集合视图

    我有一个集合视图 并且希望在多个设备上保持一致的行数和列数 在 iPhone 6s Plus 上 显示 6 个项目 但在 iPhone 5s 上查看应用程序时 仅显示 4 个项目 See my layout here 如何使集合视图在不同设
  • 为什么我会看到 VSCode 中的 let 语句中添加了“: String”?

    当我在 VSCode 中输入以下内容时 let mut guess String new 我看到它变成了 let mut guess String String new 为什么会发生这种情况 这些被称为镶嵌提示 rust analyzer
  • 稍后交付无法在 Rails 5 的测试环境中运行

    基本上 测试配置的设置与 Rails 4 中的工作方式完全相同 传递方法设置为测试等 除了我已替换的已弃用的选项之外 邮件仅使用 Deliver now 发送 而不是 Deliver later Deliver later 在开发环境中工作
  • 嵌入 UIHostingController 中的 NavigationView 具有额外的安全区域插图

    有人知道如何处理这个问题吗 似乎当您有一个带有 NavigationView 的 UIHostingController 时 会发生以下情况 注意大的灰色标签栏安全区域 这主要是一个 UIKit 应用程序 我们正在用 swiftUI 视图替
  • 大于行首的符号

    我刚刚在脚本中看到以下内容 但不确定它的含义 started STATUSDIR EVENT ID started errs STATUSDIR EVENT ID errors started is used to capture the
  • Python - time.sleep(n) 是 CPU 密集型的吗? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用time sleep n 在 python 脚本中使其以不同的时间间隔执行作业 伪代码如下所示 total jobs next jobs to run next closest total job
  • 带输入参数的 MVC jquery ajax 调用

    当我在带有参数的控制器上调用操作时遇到问题 在控制器中我有以下操作 HttpPost public ActionResult UpdateData string month return Json new success true mess
  • org.apache.harmony.xml.ExpatParser$ParseException 的问题

    我的 SaxParser 实现有时会抛出 org apache harmony xml ExpatParser ParseException At line 1 column 0 no element found 例外 在下一次尝试中 效果
  • 执行标量之后:未设置对象引用等

    我应该添加什么代码来接受 WHERE 语句中的 null int numApprovals 0 string sql SELECT COUNT Type AS OpenforApproval FROM dbo LeaveRequest WH