У меня есть datatable, и я хочу отфильтровать эту таблицу с именем компании. Но он дал эту ошибку: «Синтаксическая ошибка Отсутствует opperand after 's' operater.Отсутствует оператор opperand after 's
Мой код как этот.
В чем проблема?
У меня есть datatable, и я хочу отфильтровать эту таблицу с именем компании. Но он дал эту ошибку: «Синтаксическая ошибка Отсутствует opperand after 's' operater.Отсутствует оператор opperand after 's
Мой код как этот.
В чем проблема?
Проблема «Dyn's». Вы можете использовать \ «вместо» возникает проблема
Это апостроф в имени, вам нужно, чтобы избежать его:
DataRow[] rowList = resultDt.Select(string.Format(" [{0}] = '{1}'", resultDt.Columns["Company"], "Dyn\'s"))
Выпуск это вытесняются {1}
и поэтому результирующая строка выглядит 'Dyn's'
, ускользнув от него, вы получите 'Dyn\'s'
, который должен быть в порядке.
Dyn's
Вам нужно бежать апостроф:
Dyn\'s
Попробуйте убежать «:
"Dyn\'s"
возможность использовать LINQ к DataTable вместо Вы? Я всегда думал, что DataTable.Select()
- способ, способный совершить ошибки, именно по этой причине.
Выполнение запросов с использованием LINQ to Objects (эффективно) с помощью метода DataTableExtensions.AsEnumerable()
(или, проще говоря, с использованием строго типизированных наборов данных, IIRC) является более приятным IMO. По общему признанию, вы не получите преимущества какой-либо индексации в памяти, выполняемой DataTable
, но я подозреваю, что в большинстве случаев это будет неактуально.
так спасибо его работе ... – emrahe
Я думаю, что вы можете написать @ "Dyn's" – Jonathan