• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

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

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

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

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