错误'Bannon'后缺少操作数;operator"-什么'班农'操作符
本文关键字:quot 什么 操作符 operator 班农 Bannon 错误 操作数 | 更新日期: 2023-09-27 18:01:59
在c#控制台应用程序中,我有一行:
rowsFound = tempUsers.Select("EmailAddress = '" + userData[2].ToString() + "'");
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)
当我插入正确的索引(2)时,错误消失了。
你知道什么是"班农操作员"吗?
这个家伙可能被称为O'Bannon
(= userData[1]
),导致以下字符串:
EmailAddress = 'O'Bannon'
下面的Stackoverflow问题包含了如何正确转义DataTable.Select
中使用的数据的指南:
- 数据表过滤器表达式中转义字符的正确方法
对于单引号,您只需要复制它们:'
-> ''
.
userData[1].ToString()
可能类似于Bobby' Bannon
请看这个链接。班农来自UserData[2].ToString()