Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Midas. Открытие/Закрытие Dataset [D7]


Goffman ©   (2003-02-19 08:50:00) 

Привет мастерам.
На АппСервере находятся два датасета глвный и детльный.
На клиентское приложение подчиненный датасет передается в виде вложенного.
После передачи данных на клиента датасеты на сервере почему-то закрываются. И когда я пытаюсь добавить запись, сервер орет "Cannot perfom this operation on a closed dataset".
Может кто сталкивался с таким?
Буду благодарен за любой совет.


Romkin   (2003-02-19 12:50:00) [1]

ResolveToDataset


Goffman   (2003-02-19 12:15:00) [2]


> провайдер должен сам разбираться с изменениями, от тебя
> в общем случае ничего не требуется

В том-то и дело, что при попытке ApplyUpdates возвращается ошибка "Cannot perfom this operation on a closed dataset".
И непонятно какие свойства провайдера влияют на состояние датасета.


Romkin   (2003-02-19 12:01:00) [3]

Там работаешь с пакетом и меняешь в нем. А в чем собственно проблема? провайдер должен сам разбираться с изменениями, от тебя в общем случае ничего не требуется, просто делаешь у мастера ApplyUpdates(-1) на клиенте, и у тебя все вкачивается


Goffman   (2003-02-19 11:49:00) [4]

То есть, если я правильно понял, в каждом провайдере, в обработчике BeforeApplyUpdates я должен вручную открывать связанные с ним DataSets?
Это конечно не сложно, но уж больно муторно.
И я что-то не вижу в этом ничего хорошего.
Может быть есть способ держать их открытыми все время?


Romkin   (2003-02-19 09:58:00) [5]

Ну правильно - датасеты открываются только когда нужно, а записи обычно вставляют на клиенте, потом передают провайдеру, и уже он занимается их вставкой, которой можно управлять в событии OnBeforeUpdateRecord провайдера, причем полностью.
В чем проблема-то?


Наверх

Титульная страница Поиск, карта сайта Написать письмо