![]() |
|
Модераторы: gambit |
![]()
|
|
| Partizan |
|
||||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
Приветы всем!...
В общем у меня проблема, с решением которой я уже сломал моск..... есть DataTable...из неё выдираются строки Select-ом...
второй параметр - сортировка по колонке ID....так вот при этой операции вылетает exception: Index was out of array bounds...или чёта в этом роде...дословно не помню... От чего такая беда? - непонятно...гуглю уже третий день...практически безрезультатно... есть варианты, при которых проблема решается и exception не вылетает: 1) если убрать второй параметр, то метод Select выполняется на ура... 2) добавление какойнить левой колонки так же решает проблему и Select исполняется также на ура....
3) если Select вызывать у копии m_Table, которая само собой уже не содержится ни в каком DataSet, то также всё ок...
А теперь вопрос: Ктонить знает причину такого поведения DataTable? И как такое поведение побороть по-хорошему, а не извращенскими манипуляциями типа добавления колонок или создания копии таблицы.... -------------------- СУВ, Partizan. |
||||||
|
|||||||
| Optimus |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 1.9.2007 Репутация: нет Всего: 14 |
Этот код у вас компилируется ? из msdn
Делаю так, и всё работает
--------------------
"постановка задачи наполовину решает саму задачу" |
||||||||
|
|||||||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
ошибся...ибо пример не копипастил а воспроизводил....там конечно массив DataRow...
проблема всё ещё не решена.. m_DataTable, из которого делается Select находится в датасете, причём связан с другими таблицами датасета...не знаю на сколько это влияет на такое поведение Select-а (.... ибо даже удаление всех констрейнтов и связей не помогает.... но если сделать копию таблицы, то всё ок.... ни у кого чтоли не было таких проблем? Это сообщение отредактировал(а) Partizan - 28.3.2008, 00:43 -------------------- СУВ, Partizan. |
|||
|
||||
| Optimus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 1.9.2007 Репутация: нет Всего: 14 |
--------------------
"постановка задачи наполовину решает саму задачу" |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
m_Table это таблица из датасета...
тоесть
на момент вызова Select m_Table гарантированно != null и гарантированно содержит записи... -------------------- СУВ, Partizan. |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
Фсё ребят....проблему решил некоторым изменением логики....теперь использую таблицу не из датасета, а отдельную...
з.ы. и тем не менее поведение Select-a не понятно... в каких случаях он валитцо с IndexOutOfRangeException? -------------------- СУВ, Partizan. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |