- •11. Базы данных, определение, типы бд. Понятие домена, атрибута,
- •32. История создания эвм. Поколения и классы эвм. Структура
- •46. Общая характеристика операционной системы Linux. Основные
- •67. Понятие нормальной формы отношений. Условия нахождения бд
- •1.3D моделирование в компьютерной графике
- •2. Case-средства. Работа с case-средством Erwin. Логическая и
- •4. Алгоритм декомпозиции отношения с целью его нормализации.
- •7. Архивирование данных. Преимущества и недостатки современных
- •12. Баухауз и его вклад в развитие мирового дизайна.
- •13. Бизнес - цели и жизненный цикл изделия
- •15. Василий Кандинский – теория цвета. Психология цвета.
- •16. Векторная и растровая графика, основные понятия, области
- •18. Виды обеспечения систем компьютерной графики.
- •21. Единый формат векторной графики.
- •Пример использования tadoConnection
- •Пример использования параметров запроса
- •Синхронизация данных клиента и сервера.
- •Работа с транзакциями
- •Пример работы с транзакциями
- •Доступ к данным
- •Пример работы с отложенными изменениями.
- •Cals-идеология
- •Cals-технологии
- •Cals-системы
- •Плюсы и минусы
- •28. Использование векторной и растровой графики в web.
- •30. Использование международных стандартов.
- •34. Конструктивизм в художественном дизайне.
- •35. Кривая Безье, ее построение и редактирование.
- •13.1. Определение класса
- •13.1.1. Данные-члены
- •13.1.2. Функции-члены
- •13.1.5. Объявление и определение класса
- •13.2. Объекты классов
- •13.4. Неявный указатель this
- •13.4.1. Когда использовать указатель this
- •38. Мастера модерна. А. Ванде Вельде, ч. Р. Макинтош.
- •43. Обеспечение информационной безопасности.
- •44. Области применения компьютерной графики.
- •48. Оптические устройства хранения информации. Виды и основные
- •50. Основные принципы cals.
- •52. Основные структурные элементы эвм (материнские платы,
- •Основные характеристики шрифтов
- •Художественный облик шрифтов
- •55. Основы композиции в промышленном дизайне. Категории
- •Оператор break
- •Оператор return
- •60. П. Беренс – первый промышленный дизайнер.
- •61. Параллельное и последовательное моделирование
- •62. Параметризация в компьютерной графике.
- •63. Первые теории дизайна Дж. Рескин, г. Земпер, ф. Рело.
- •65. Понятие ключа, первичного ключа, индекса.
- •Первая нормальная форма (1nf)
- •Вторая нормальная форма (2nf)
- •Третья нормальная форма (3nf)
- •Методы решения
- •Процедура принятия решений
- •4. Отчеты - позволяют обобщать и распечатывать информацию. Создание базы данных
- •Создание формы
- •Вызовы sql в pl/sql-ном блоке
- •Вызовы sql в pl/sql-ном блоке
- •См. Вопрос 122 fat32. Чем она лучше fat16?
- •Оттенки фиолетового
- •Оттенки синего
- •Оттенки зеленого
- •Оттенки желтого
- •Цветовая гармония
- •Восприятие цвета
- •Различие между цветами Различные источники света
- •Различная ориентация
- •Различия в восприятии размера
Работа с транзакциями
В компонентах ADO работа с транзакциями осуществляется через компонент TADOConnection.
Тип транзакции устанавливается в свойстве IsolationLevel одной из следующих констант:
IlUnspecified |
Сервер будет использовать лучший, по его мнению, тип изоляции. |
IlChaos |
Транзакции с более высоким уровнем изоляции не могут изменять данные измененные, но не подтвержденные в текущей транзакции. |
IlReadUncommitted |
Чтение данных измененных в не подтвержденных транзакций. То есть изменения видны сразу после того как другая транзакция передала их на сервер. |
IlBrowse |
То же самое что и IlReadUncommitted |
IlReadCommitted |
Чтение данных измененных подтвержденными транзакциями. То есть изменение данных будет видимо после выполнения Commit в другой транзакции. |
IlCursorStability |
То же самое что и IlCursorStability. |
IlRepeatableRead |
Изменения, сделанные другими транзакциями не видимы, но при выполнении перезапроса они транзакция может получать новый набор данных. |
IlIsolated |
Транзакция не видит изменений данных произведенных другими транзакциями. |
IlSerializable |
То же самое что и IlIsolated. |
Обратите внимание на то, что не все типы провайдеров данных поддерживают все типы изоляции или работу с транзакциями.
Свойство Attributes устанавливает открывать ли новую транзакцию автоматически
Свойство xaCommitRetaining – при подтверждении транзакции
Свойство xaAbortRetaining – при отмене транзакции
Так же у компонента TADOConnection есть три метода для работы с транзакциями:
BeginTrans Начинает транзакцию
CommitTrans Подтверждает сделанные изменения
RollbackTrans Откатывает транзакцию.
Пример работы с транзакциями
За базовый возьмем пример использования TADOConnection.
Добавим к форме две кнопки (StCmButton и RollbackButton) типа TButton, обработчики событий OnClick этих кнопок, процедуру fix_controls без параметров к форме, обработчик события OnActivate формы
type TForm1 = class(TForm) … private procedure fix_controls; … procedure TForm1.fix_controls; begin if Connection.InTransaction then begin StCmButton.Caption := 'Commit'; RollbackButton.Enabled := True; end else begin StCmButton.Caption := 'Begin'; RollbackButton.Enabled := False; end; MasterSQL.Requery; DetailSQL.Requery; end;
procedure TForm1.StCmButtonClick(Sender: TObject); begin if not Connection.InTransaction then Connection.BeginTrans else Connection.CommitTrans; fix_controls; end;
procedure TForm1.RollbackButtonClick(Sender: TObject); begin Connection.RollbackTrans; fix_controls; end;
procedure TForm1.FormActivate(Sender: TObject); begin fix_controls; end; |
Обратите внимание на то, что когда транзакция не запущена, все равно можно изменять данные и они записываются немедленно.