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

Вниз

Помогите разобраться с CachedUpdates   Найти похожие ветки 

 
Destroyer ©   (2003-02-27 13:27) [0]

Есть таблица, для которой CachedUpdates=True. Добавляю в нее запись, RecordCount=1. Делаю ApplyChanges, теперь RecordCount=2 (почему?). А теперь независимо от того, делаю я CommitChanges или CancelChanges, RecordCount=1. И еще: могу ли я сделать CancelUpdates после того как я сделал ApplyUpdates, но еще не сделал CommitUpdates


 
Johnmen ©   (2003-02-27 13:33) [1]

БД ? Доступ ?


 
Destroyer ©   (2003-02-27 13:46) [2]

БД=MS ACCESS


 
Johnmen ©   (2003-02-27 13:51) [3]

Доступ=?


 
Destroyer ©   (2003-02-27 13:56) [4]

to Johnmen:
Не понял вопроса про доступ. Вообще-то многопользовательский...


 
Соловьев ©   (2003-02-27 13:57) [5]

В смысле ADO? Или стандарные компоненты: ODBC->Database->Query(Table)?


 
Destroyer ©   (2003-02-27 14:32) [6]

Да, стандартные компоненты...Мастера, помогите, единственный трабл в проге и никак не могу избавиться...


 
Соловьев ©   (2003-02-27 15:08) [7]

Зачем тебе RecordCount? Может можно через SQL?


 
Destroyer ©   (2003-02-27 15:18) [8]

Меня больше интересует, могу ли я сделать CancelUpdates после того как я сделал ApplyUpdates, но еще не сделал CommitUpdates? Вроде данные-то хотя и переданы, но еще не записаны, но у меня почему-то не получается откатить...


 
Соловьев ©   (2003-02-27 15:23) [9]

Делай Post, зачем ApplyUpdates? А когда надо откатить, то делай CancelUpdates?


 
Johnmen ©   (2003-02-27 15:29) [10]

Вообще-то в файл-серверных БД нет транзакций, но м.б. некая искусственная их эмуляция, и возможно она очень похожа на кеширование...:)


 
Desdechado ©   (2003-02-27 15:49) [11]

при ApplyUpdates данные передаются на сервер, а CancelUpdates и CommitUpdates обе очищают локольный кэш изменений. Вот только по-разному: выставляют соотв. флаги (типа отказ или подтверждение), но это уже не относится к сохранению данных в БД, а только к кэшу.


 
Destroyer ©   (2003-02-28 06:29) [12]

to Соловьев: дело в том, что данные из таблицы выбираются и отображаются пользователю через Query, и он не видит сделанных локальных изменений...

Вот и не знаю как быть: если делаю через StartTransaction - база блокируется после начала первой транзакции и другие пользователи ничего сделать не могут, если делаю через CachedUpdates - не могу своевременно обновить Query для пользователя - ничего не помогает пока не сделаю ApplyUpdates, но тогда уже не работает откак...А как еще сделать возможность отката - я не знаю...


 
ЮЮ ©   (2003-02-28 08:25) [13]

> если делаю через CachedUpdates - не могу своевременно обновить Query для пользователя

Что понимать под "своевременно обновить", если пользователь получил результат запроса и локально его изменяет. Что наизменял, то и и имеет, зачем обновлять запрос? А вот теперь, когда ему надоело изменять данные он может либо сохранить изменения, либо отказаться от всех изменений. И после этого уже можно и переоткрыть запрос, чтобы увидеть изменения, сделанные другими пользователями, которые касаются записей, входящих и в ваш запрос тоже


 
Destroyer ©   (2003-02-28 08:36) [14]

to ЮЮ:
да, пользователь получил результат запроса и локально его изменяет. Собственно и сам запрос, и изменения касаются в основном одной таблицы... К примеру пользователь добавил запись в таблицу, но в сетке запись не появилась (она связана с Query)...мне же хотелось бы, чтобы пользователь видел данные запроса + сделанные им локальные изменения, в этом и есть проблема...


 
ЮЮ ©   (2003-02-28 08:39) [15]

>К примеру пользователь добавил запись в таблицу
А должен был добавить в Query, а не в таблицу (см. TUpdateSQL)


 
Destroyer ©   (2003-02-28 08:48) [16]

Видимо я не до конца разобрался с UpdateSQL, потому что я так пробовал, прицепил его к Query, в качестве InsertSQL делал INSERT INTO Table... запись в Query добавляется, но запись добавляется и в таблицу и откат на нее потом не действует...


 
passm ©   (2003-02-28 09:53) [17]

Destroyer © (28.02.03 08:48)> Это уже Database.StartTransaction, Database.Commit, Database.Rollback.



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

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

Наверх




Память: 0.5 MB
Время: 0.017 c
7-64409
Владимир
2003-01-26 00:42
2003.03.20
Отцентрировать форму


14-64383
Black_Angel
2003-03-05 20:41
2003.03.20
Что америкосы продают...


14-64299
Мазут Береговой
2003-03-03 23:02
2003.03.20
Сколько соток в гектаре?


3-64050
Roki
2003-03-03 11:41
2003.03.20
Как увидеть подконектившхся юзверей?


3-64007
AlexanderSK
2003-02-28 17:18
2003.03.20
Сервер на базе WebSnap (Midas)