Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизСохранение текущего значения при работе с кэшем Найти похожие ветки
← →
Бульбаш (2005-01-28 09:56) [0]При использовании кэширования не сохраняются данные (при applyupdates)если не покинуть текущую строку. Я пока выхожу из ситуации через Next перед сохранением. Может существует более изящное решение?
← →
Sergey13 © (2005-01-28 10:01) [1]Так может Post вместо Next?
← →
Бульбаш (2005-01-28 10:07) [2]А Post в этом случае применяется к кэшированным данным?
← →
Sergey13 © (2005-01-28 10:12) [3]А Next применяется? 8-)
Просто Next неявно вызывает Post который тебе и нужен повидимому.
← →
Бульбаш (2005-01-28 10:36) [4]Действительно :)
← →
Бульбаш (2005-02-11 16:11) [5]Пришлось вернуться к этой проблеме. Чуть подробнее: Пользователь редактирует запись в гриде: например ставит птичку в chekbox или редактирует текстовое поле и сразу давит на кнопку сохранить (по ней же идет ApplyUpdate и т.д.),не переходя на другое поле и не нажимая enter. После переоткрытия набора данных обновления поля не происходит. Пробую принудительный пост:
if DM.Org.Modified then DM.Org.Post; тот же результат... Если же использовать навигатор - нажатием его Post-а сохраняется.(но навигатор здесь неприемлем). Подскажите как решить проблемку плиз
← →
Val © (2005-02-11 16:24) [6]пост OnExit сетки, если открыт датасет.
← →
Val © (2005-02-11 16:28) [7]Кcтати, for info, при использовании кеша, м.б. недостаточно одного Modified, стоит анализировать и UpdatesPending:
if DataSet.Modified or TBDEDataSet(DataSet).UpdatesPending...
← →
Бульбаш (2005-02-11 16:43) [8]И так не работает :( а updatesPending я анализирую в обработчике нажатия кнопки...
← →
Val © (2005-02-11 16:45) [9]не работает что? нет Post? нет OnExit?
← →
stud © (2005-02-11 16:53) [10]так может state датасета анализировать? если в редактировании или вставке постить данные.
← →
Бульбаш (2005-02-11 17:05) [11]Т.е.получается что если не вышел из поля или не нажал Enter изменения не фиксируются. Если принудительно просто дать Post - вылетает по ORA-01086 (была сделана попытка отката к savepoint, которая не установлена). Но если нажать сохранить в навигаторе - то все фиксируется - знать бы как там все это реализовано?
← →
Desdechado © (2005-02-11 17:42) [12]if( dataset.state in [dsEdit, dsInsert] ) then
dataset.post;
кстати, как это у тебя на post сразу оракл ругается? ты ж вроде используешь кэширование?
← →
Бульбаш (2005-02-11 17:54) [13]Такой обработчик я уже пробовал:
if DM.Org.State in [dsEdit, dsInsert] then DM.Org.Post;
DM.Org.Close; DM.Org.Open; А на BeforeClose датасета вешаю обработчик разноски кэшированных данных в базу. Т.е. получается когда пост вызывается неявно (переходом на другую строку) или нажмешь enter после изменения все OK. А выдача поста программно не проходит :(
← →
Desdechado © (2005-02-11 18:36) [14]почему не проходит? только потому, что ты его в комбинации с Close использушь? так разнеси...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c