![]() |
|
Модераторы: gambit |
![]()
|
|
| Magnetic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 11.11.2006 Репутация: нет Всего: 1 |
Как узнать, какие существующие ряды в объекте-таблице до вызова Fill обновились после его вызова? Под обновлением имеется в виду не обязательно фактическое изменение значений ряда, а слияние существующего ряда с соответствующим полученным.
--------------------
Dude, where's my car? |
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
Вопрос какой то непонятный... А вообще после вызова метода Fill данные не обновляются, а загружаются заново! Никакого слияния с существующими данными непроисходит.
--------------------
namespace informatik |
|||
|
||||
| Magnetic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 11.11.2006 Репутация: нет Всего: 1 |
Проблема решена. Метод Merge помог. Перед каждым заполнением одной таблицы, Очищаю ее, заполняю, делаю нужное с полученными рядами, потом сливаю методом Merge ряды этой таблицы с другой, в которой хранятся все выбранные до этого ряды.
После повторного Fill ссылки на имеющиеся DataRow остаются действительными как и сами объекты. Если задать опцию адаптера LoadOption.PreserveChanges тогда останутся изменения, сделанные в отсоединенном состоянии до вызова метода Fill, к тому же остаются нетронутыми ряды, которые были в таблице и не попали в выборку последнего вызова Fill. Загрузка заново может и происходит на самом деле, но в результате как-будто ее и не было. Если ошибаюсь, поправьте. --------------------
Dude, where's my car? |
|||
|
||||
| Magnetic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 11.11.2006 Репутация: нет Всего: 1 |
Обнаружил, что Merge работает медленно, в моем случае примерно столько же, сколько и Fill. Хотелось бы обойтись без Merge. Если непонятен изначальный вопрос, то вот другая формулировка: нужно получить коллекцию тех рядов, количество которых возвращает Fill, учитывая, что заполняемая таблица содержала некоторый набор рядов до последнего вызова метода Fill.
--------------------
Dude, where's my car? |
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
Для меня вторая формулировка не разъяснила ситуацию... все равно как то непонятно..
--------------------
namespace informatik |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |