错误'Bannon'后缺少操作数;operator"-什么'班农'操作符

本文关键字:quot 什么 操作符 operator 班农 Bannon 错误 操作数 | 更新日期: 2023-09-27 18:01:59

在c#控制台应用程序中,我有一行:

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

rowsFoundDataRow[], tempUsersDataTable, userDataSqlDataReader。我有错误的索引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'后缺少操作数;operator"-什么'班农'操作符

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

EmailAddress = 'O'Bannon'

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

  • 数据表过滤器表达式中转义字符的正确方法

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

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

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