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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Некорректная работа DataTable.Select(), DataTable.Select() не возвращает строки 
:(
    Опции темы
mihryak
Дата 11.8.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Кто-нибудь сталкивался с такой неприятной штукой, как периодический отказ DataTable.Select() возвращать найденные строки?
При этом они гарантированно находятся в таблице, пробежка по ней со сравнением нужного поля запись находит-таки.
Прим.: датасет типизированный, поиск производился по одному или двум строковым полям. Фильтр правильный, в других случаях с другими таблицами всё работает.
PM MAIL ICQ   Вверх
LuMee
Дата 12.8.2007, 11:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



mihryak, во-первых, покажи код, с помощью которого ищешь, во-вторых, советую хорошенько побродить по сомнительным участкам отладчиком: чудес не бывает, наверняка просто где-то незаметно ошибся. 
PM MAIL   Вверх
mihryak
Дата 12.8.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



код самый банальный, с детства пользуюсь DataTable.Select()  smile 
Код

                string rowFilter = "changeRightsCategoryId = " + changeRightsCategoryId;
                DataRow[] rows = Config.changeRights.Select(rowFilter);

/*на то, что поле, которое д.б. целочисленным, но в таблице представлено строкой, прошу не обращать внимания*/

С конкретно этой фильтрацией проблемы начались при добавлении движка, использующего Access, и работе через него. Но и с предыдущей базой на других таблицах и других запросах тоже встречал такую штуку.
PM MAIL ICQ   Вверх
Exception
Дата 12.8.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Дык если changeRightsCategoryId -- строка, наверное, её нужно обернуть в кавычки?
PM   Вверх
mihryak
Дата 12.8.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Exception, без разницы
для единообразия везде без кавычек использую, не работает только иногда
и потом, как это может зависеть от источника данных, ведь датасет один и тот же

в общем, не думаю, что ручная пробежка по набору строк менее эффективно  будет работать, чем Select, да и конкретных выборок из таблиц ограниченное количесвто, так что буду использовать собственные методы поиска
PM MAIL ICQ   Вверх
Exception
Дата 12.8.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А ты попробуй поставить эти апострофы и проверь тясячу раз. Уверен, проблемы исчезнут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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