Как правильно сделать DataTable.Select(string)?
От: Beegor  
Дата: 25.10.06 19:55
Оценка:
Приветствую!
Как правильно сделать DataTable.Select с фильтрацией по полю если в строке есть символы %,',",` и т.д?

DataRow[] dr2 = dataTable2.Select("LanguageCode = '" + comboBox2.Text + "' AND UniqueEntry = '"+dr1[i]["UniqueEntry"].ToString()+"'");

В выделенном фрагменте например значение "%1 Entry %2 To #3" или "JSC 'Orakul'", в таких случаях происходит ошибка запроса.
Помогите советом.
Спасибо заранее.
Re: Как правильно сделать DataTable.Select(string)?
От: i-ka Россия  
Дата: 26.10.06 07:15
Оценка:
Здравствуйте, Beegor, Вы писали:

B>Приветствую!

B>Как правильно сделать DataTable.Select с фильтрацией по полю если в строке есть символы %,',",` и т.д?

B>
B>DataRow[] dr2 = dataTable2.Select("LanguageCode = '" + comboBox2.Text + "' AND UniqueEntry = '"+dr1[i]["UniqueEntry"].ToString()+"'");
B>

B>В выделенном фрагменте например значение "%1 Entry %2 To #3" или "JSC 'Orakul'", в таких случаях происходит ошибка запроса.
B>Помогите советом.
B>Спасибо заранее.

Одинарные кавычки надо удваивать:
  "JSC 'Orakul'".Replace("'", "''")


А почему падает в первом — не очень понятно. Если бы там было не равенство, а LIKE, надо было бы сделать следующее:
  "%1 Entry %2 To #3".Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]")
RE: Как правильно сделать DataTable.Select(string)?
От: Аноним  
Дата: 26.10.06 07:20
Оценка:
Приветствую!
Как правильно сделать DataTable.Select с фильтрацией по полю если в строке есть символы %,',",` и т.д?


DataRow[] dr2 = dataTable2.Select("LanguageCode = '" + comboBox2.Text + "' AND UniqueEntry = '"+dr1["UniqueEntry"].ToString()+"'");
В выделенном фрагменте например значение "%1 Entry %2 To #3" или "JSC 'Orakul'", в таких случаях происходит ошибка запроса.
Помогите советом.
Спасибо заранее.

Попробуй так:
.Select("Name = '[[][%]%]'''");
Результат
Name
[%]'
[%sd]'
[%sdsds sd]'


[i]данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.