• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Delphi - ADOQuery - Access

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

Alex2

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

Как быть?
 
B

Barmutik

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

????

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

Barmutik

Мммм.. а почему бклкировка ???

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!