Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Запись пачками   Найти похожие ветки 

 
nick-from ©   (2003-01-23 21:20) [0]

Есть Master-Detail связь (Организации и их заказы).
При заполнении заказов для организации конечно же лучше отправлять заказы на сервак порциями, а не Commit"иться после вновь заполненной записи.
Сделал форму, на которой Dataset показывает все заказы текущей организации. По кнопке "Добавить заказ" показыается форма для заполнения соответствующих полей нового заказа.
И с помощью Query новый заказ добавляется в таблицу заказов.
Проблема в том, что Dataset видит заказы, которые существовали на момент старта транзакции (видны старые заказы) и если сделать Commit и перечитать заказы снова (будут видны и все добавленные).

А сделать так, чтобы добавил заказ и он сразу стал виден в списке заказов данной организации - не получается.
Кто как решал, подскажите.


 
Sergey Masloff   (2003-01-23 22:34) [1]

Например CommitRetaining сделай. Переоткрытие транзакции с сохранением контекста. Кстати в 6 дельфи исправлен глюк с утечками памяти при CommitRetaining присутствовавший в 5.x


 
nick-from ©   (2003-01-23 22:48) [2]

Дык ведь вся фишка в том чтобы не делать Commit после каждой новой вставленной записи, можт их как-то в обычном Gride отображать (прибавлять после новой вставки), но ведь этож - геморой :)


 
Johnmen ©   (2003-01-24 01:12) [3]

В твоем случае надо однозначно обновлять НД заказов после выполнения запроса вставки.
Альтернатива :
- добавлять заказы прямо в НД заказов, при этом обеспечить его редактируемость
А еще лучше использовать компоненты прямого доступа (IBX, FIBPlus), там все строже, прозрачней, удобней и т.д.


 
nick-from ©   (2003-01-24 11:02) [4]

Использую FIBPlus. Сделал Dataset, который отображает заказы для текущей организации, можно и вставлять и удалять их там же.
Но вот еще в чем проблема: Таблица заказов содержит поля:
"Имя заказа", "ID его организации", "Цена", "Количество", "Стоимость"-(вычисляемое поле).
При заполнении нового заказа непосредственно в Dataset вычисляемое "Стоимость" отображается только после:
COMMIT, Dataset.CloseOpen(false)
Видимо действительно: "надо однозначно обновлять НД заказов после выполнения запроса вставки."



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
14-29027
anpsoft
2003-01-22 02:04
2003.02.10
QuickBooks Pro and LedgerLink - есть кто ???


3-28679
alxx
2003-01-24 15:34
2003.02.10
Функции работы с датой-временем


1-28835
Armageddon
2003-02-02 20:00
2003.02.10
Картинка


14-29050
dazy
2003-01-23 13:03
2003.02.10
сорри за оффтопик - вопрос про C


1-28810
melifaro
2003-02-01 22:37
2003.02.10
Удаление параметров a.k.a. вытаскивание имени файла