• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Delphi - ADOQuery - Access

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

Alex2

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

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

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab