Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];

Вниз

Помогите разобраться с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
7-64414
Стас
2003-01-27 16:33
2003.03.20
Как програмно сменить обои в WinXP и Win98


3-63944
vixic
2003-03-03 18:15
2003.03.20
ДАЖЕ НЕЗНАЮ: Table DLL DataSource!


1-64095
swamp
2003-03-10 12:44
2003.03.20
Разрушить компонент


14-64372
Соприкоснувшийся
2003-03-05 14:10
2003.03.20
О продаже программы


3-64033
Aramis
2003-03-02 16:53
2003.03.20
Работа с Clipper-овскими индексами NTX





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский