错误“'Bannon'运算符后缺少操作数” - 'Bannon'运算符是什么?

时间:2011-07-14 13:57:00

标签: c# console console-application

使用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)时,错误就消失了。

关于什么是“Bannon算子”的任何想法?

3 个答案:

答案 0 :(得分:25)

那个人可能被称为O'Bannon(= userData[1]),导致以下字符串:

EmailAddress = 'O'Bannon'

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

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

答案 1 :(得分:8)

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

答案 2 :(得分:1)

请参阅此link。 Bannon来自UserData[2].ToString()