【问题标题】:Error "Missing operand after 'Bannon' operator" - what 'Bannon' operator is?错误“'Bannon' 运算符后缺少操作数” - 'Bannon' 运算符是什么?
【发布时间】:2011-10-05 09:03:34
【问题描述】:

在 C# 控制台应用程序上工作,我有一行:

rowsFound = tempUsers.Select("EmailAddress = '" + userData[2].ToString() + "'");

rowsFoundDataRow[]tempUsersDataTableuserDataSqlDataReader。我的 userData 索引错误(它是 1),我收到了这个错误:

System.Data.SyntaxErrorException was unhandled
   Message=Syntax error: Missing operand after 'Bannon' operator.
   Source=System.Data
StackTrace:
   at System.Data.ExpressionParser.Parse()
   at System.Data.DataExpression..ctor(DataTable table, String expression, Type type)
   at System.Data.Select..ctor(DataTable table, String filterExpression, String sort, DataViewRowState recordStates)
   at System.Data.DataTable.Select(String filterExpression)

当我插入正确的索引 (2) 时,错误消失了。

关于什么是“班农算子”有什么想法吗?

【问题讨论】:

  • userdata[1] 是用户的姓氏吗?他的名字是“奥班农”吗?
  • 好吧,我是个白痴。 userData[1] 是一个名字,userData[2] 是一个电子邮件地址。已更正。

标签: c# console console-application


【解决方案1】:

那个人可能叫O'Bannon (= userData[1]),结果如下:

EmailAddress = 'O'Bannon'

以下 Stackoverflow 问题包含有关如何正确转义 DataTable.Select 中使用的数据的指南:

对于单引号,你只需要复制它们:' -> ''

【讨论】:

  • @J. Steen: 恕我直言,SLaks 值得这个伟大的评论 :)
【解决方案2】:

userData[1].ToString() 可能类似于 Bobby' Bannon

【讨论】:

  • 啊,是的,臭名昭著的 Bobby Tables...(根据要求添加用于喜剧救济;)
【解决方案3】:

请看这个link。班农来自UserData[2].ToString()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多