Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Символы в DataTable.Select() 
:(
    Опции темы
alreves
Дата 5.9.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.9.2006

Репутация: нет
Всего: нет



При использовании оператора DataTable.Select() компилятор не позволяет использовать символ ", а в базе данных такие символы есть, и встречаются очень часто и использовать их приходиться. 

Как наложить фильтр в таком случае?
PM MAIL   Вверх
Дрон
  Дата 5.9.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 5
Всего: 93



Цитата(alreves @  5.9.2006,  14:34 Найти цитируемый пост)
компилятор не позволяет использовать символ "

Это как? Типа на экране появляется огромная надпись: НЕ ПОЗВОЛЮ!!!

Это сообщение отредактировал(а) Дрон - 5.9.2006, 13:48


--------------------
Да. Именно так.
PM   Вверх
kobra
Дата 5.9.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



перед текстом написать @, кажется так
PM MAIL   Вверх
alreves
Дата 5.9.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.9.2006

Репутация: нет
Всего: нет



Цитата

перед текстом написать @, кажется так

это не помогает, он всё равно не воспринимает строку "буквально"

Цитата

Это как? Типа на экране появляется огромная надпись: НЕ ПОЗВОЛЮ!!!

Ну, естественно, компилятор так не пишет, однако ошибку отбрасывает: Cannot interpret token '"' at position 12.
PM MAIL   Вверх
Дрон
  Дата 5.9.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 5
Всего: 93



Цитата(alreves @  5.9.2006,  15:05 Найти цитируемый пост)
Ну, естественно, компилятор так не пишет, однако ошибку отбрасывает: Cannot interpret token '"' at position 12. 

Так. Уже лучше. Теперь осталось только выяснить, что же там находится в 12 позиции, ну и вокруг неё тоже. Только вот, по-видимому, там что-то настолько секретное, что нам не дано об этом узнать никогда.

На форуме телепатов нет. Для получения лучшего эффекта нужно сразу же показывать кусок кода и ошибку, выдаваемую компилятором.

В общем так, есть два варианта того, как в C# можно включить символ " в строку:
первый (свойственный для всех Си-подобных языков -- читаем про Escape Sequences):
Код
dataTable.Select("SomeField = \"SomeValue\"");

второй (собственная фишка Си-шарпа):
Код
dataTable.Select(@"SomeField = ""SomeValue""");


Теперь дальше. Рекомендую потренироваться абстрагировать задачи -- но это если, конечно, есть желание программировать. Например, в данном случае нужно понимать, что проблема символа " в строке относится не только к DataTable.Select, но и к любой строке вообще, а следовательно упоминание о базах данных тут только сбивает с толку. И если бы вопрос был сформулирован соответствующим образов, да ещё и в правильном разделе форума -- то ответ на него дали бы мгновенно.


Это сообщение отредактировал(а) Дрон - 5.9.2006, 15:03


--------------------
Да. Именно так.
PM   Вверх
alreves
Дата 6.9.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.9.2006

Репутация: нет
Всего: нет



Цитата

Рекомендую потренироваться абстрагировать задачи


Спасибо за совет. Приму к сведению.

Причина банальна до безобразия. Ответ дал MSDN, просто условие фильтра обязательно нужно заключить в символ ', и все кавычки побоку.  Там прямо сказано:

When you create an expression for a filter, enclose strings with single quotation marks: "LastName = 'Jones'"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.