Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизЗапись пачками Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c