Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 语法错误:在';是';操作人员_C# - Fatal编程技术网

C# 语法错误:在';是';操作人员

C# 语法错误:在';是';操作人员,c#,C#,我正在使用行筛选器查询具有以下列的数据表: 用户名(字符串) 用户ID(INT) 用户代码(字符串) 我的Rowfilter如下所示: dv.RowFilter = UserName_ColumnName + " = '" + CurrentUserName + "' And " + UserID_ColumnName + " = " + CurrentID.ToString() + " And " + UserCode_ColumnName + " Is Null"; 调试时,这是我得到的行

我正在使用行筛选器查询具有以下列的数据表:

  • 用户名(字符串)
  • 用户ID(INT)
  • 用户代码(字符串)
  • 我的
    Rowfilter
    如下所示:

    dv.RowFilter = UserName_ColumnName + " = '" + CurrentUserName + "' And " + UserID_ColumnName + " = " + CurrentID.ToString() + " And " + UserCode_ColumnName + " Is Null";
    
    调试时,这是我得到的行筛选器:

    dv.RowFilter = USER_NAME = 'mike.sl' And USER_ID = 2753 And USER_CODE Is Null
    
    然而,我得到了一个异常,它声明:“IS”运算符之前缺少操作数。 我搜索了很多网站,尝试了很多选择,但没有一个有用

    奇怪的是,它在一个系统上正常工作,但在另一个系统上却不断失败,尽管代码和值保持不变

    请帮助我解决这个错误

    提前谢谢

    问候,,
    Swati

    奇怪,它根本不应该工作,因为根据我发现的文档,行过滤器没有
    is
    。。。您可以尝试改用
    ISNULL
    函数:

    dv.RowFilter = UserName_ColumnName + " = '" + CurrentUserName + "' And " + 
                   UserID_ColumnName + " = " + CurrentID.ToString() + " And " +
                   "ISNULL("+ UserCode_ColumnName + ", '-') = '-'";
    
    参考:

    请确保
    UserCode\u ColumnName
    不是空字符串或
    null
    ,否则会出现语法错误。

    根据我的评论


    错误表明调用时UserCode_ColumnName变量为空。如何或为什么要隐藏在应用程序中的其他代码中,但是,查找这些代码将解决您的问题。

    这强烈建议UserCode\u ColumnName在失败的代码中返回为空。感谢@BugFinder提供的解决方案。成功了!!!不知何故,我没有为UserCode\u ColumnName添加正确的引用,因为它是空的。不用担心,我会添加它作为答案,这样你就可以将它标记为正确的。谢谢@Thorsten Dittmar的建议。我尝试了那个选项,但我得到了一些异常,指出ISNULL中的参数数量无效。因此,我搜索了MSDN并获得了正确的用法,但这也没有帮助。此外,在下面提到的另一个网站中,他们建议使用“IS”行内过滤器。:)@SwatiDas我修改了代码来修复错误。您真的确定在
    UserCode\u ColumnName
    中得到了一个值吗?因为我认为用户BugFinder可能也在正确的轨道上。是的,这就是问题所在。我没有获取UserCode\u ColumnName的值。所以现在我已经解决了这个问题,它现在起作用了:)@SwatiDas那么请投票并接受BugFinder的答案,因为他一开始是对的。