Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-28625
sterran
2003-01-23 10:56
2003.02.10
Реиндексация dBase


3-28683
HazMat
2003-01-24 09:35
2003.02.10
Sql Server удалённо


6-28963
koly01
2002-12-17 11:29
2003.02.10
ПОМОГИТЕ!!! Server accept Client


7-29115
D.V.K
2002-11-28 15:34
2003.02.10
Как ускорить чтение и обработку данных из больших файлов


1-28859
Dr.Karter
2003-01-21 10:29
2003.02.10
DrawGrid - одни мучения и часы проведенные в пустую




   Наверх