Delphi - ADOQuery - Access

  • Автор темы Alex2
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Alex2

Гость
#1
Я работаю в Delphi7 с Access, компоненты ADO.
Мне нужно организовать интерфейс: изменение данных в гриде.
Это не проблема... Но возле таблицы должна стоять кнопка
Cancel - отмена всех изменений и закрытие формы.
Как обработать эту кнопку? Как отменить сделанные изменения в гриде?
Ведь все изменения сразу(или почти сразу) отображаются в базе?!
Может, у TADOQuery есть какое-то свойство, чтобы данные не обновлялись в базе.
А потом делать обработку на AfterPost --> DataSet.ApplyUpdates ???

Как быть?
 
B

Barmutik

Гость
#2
Делать перед показам BeginTrans и потом по кнопке ОК - CommitTrans, а по Cancel - RollbackTrans
 
?

????

Гость
#4
Alex2
Только это черевато последствиями - пользователь начал транзакцию и ушёл покурить не нажав кнопку ОК. Вот и есть блокировка записи (а если криво спроектированно - таблицы). Второй юзер вышел покурить... 3 ...4 ...5 Шестой потянулся к телефону высказать админу всю свою злось по поводу работы системы.
 
B

Barmutik

Гость
#5
Мммм.. а почему бклкировка ???

В зависимости от того какой усновлен уровень изоляции при создании транзакций...

Можно настроить так что остальные пользователи будут работать со слепком базы на момент начала транзакции ...
 
Статус
Закрыто для дальнейших ответов.