Ошибка "Отсутствует операнд после оператора" Bannon "- что такое оператор" Bannon "?

Работая с консольным приложением С#, у меня есть строка:

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), ошибка исчезла.

Любые идеи о том, что такое "оператор Баннона"?

Ответы

Ответ 1

Этот парень, вероятно, был вызван O'Bannon (= userData[1]), в результате получилась следующая строка:

EmailAddress = 'O'Bannon'

Следующий вопрос Stackoverflow содержит руководство по правильному удалению данных, используемых в DataTable.Select:

Что касается одиночных кавычек, вам просто нужно их дублировать: '''.

Ответ 2

userData[1].ToString() был, вероятно, что-то вроде Bobby' Bannon

Ответ 3

См. ссылку . Bannon происходит либо из UserData[2].ToString()