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

Gre*_*air 15 c# console console-application

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

rowsFound = tempUsers.Select("EmailAddress = '" + userData[2].ToString() + "'");
Run Code Online (Sandbox Code Playgroud)

rowsFound是一个DataRow[],tempUsers是一个DataTable,userData是一个SqlDataReader.我有错误的索引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)
Run Code Online (Sandbox Code Playgroud)

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

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

Hei*_*nzi 25

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

EmailAddress = 'O'Bannon'
Run Code Online (Sandbox Code Playgroud)

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

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


SLa*_*aks 8

userData[1].ToString() 可能是这样的 Bobby' Bannon