На главную страницу
Форум txt.version   




Статья :: Состояние записи

 

Состояние записи

Класс TCustomADODataSet обладает дополнительными возможностями, которые позволяют отслеживать состояние каждой записи.

Для текущей записи набора данных можно определить ее состояние. Для этого предназначено свойство

TRecordStatus = (rsOK, rsNew, rsModified, rsDeleted, rsUnmodified, rslnvalid, rsMultipleChanges, rsPendingChanges, rsCanceled, rsCantRelease, rsConcurrencyViolation, rsIntegrityViolation, rsMaxChangesExceeded, rsObjectOpen, rsOutOfMemory, rsPermissionDenied, rsSchemaViolation, rsDBDeleted); property RecordStatus: TRecordStatusSet;

где rsOK — запись успешно сохранена; rsNew — запись добавлена; rsModified — запись была изменена; rsDeleted — запись удалена; rsUnmodified — запись без изменений; rslnvalid — запись не может быть сохранена из-за неверной закладки; rsMultipleChanges — запись не может быть сохранена из-за множественных изменений; rsPendingChanges — запись не может быть сохранена из-за ссылки на несохраненные изменения; rsCanceled — операция с записью была отменена; rsCantRelease — запись заблокирована; rsConcurrencyViolation — запись не может быть сохранена из-за типа блокировки; rsintegrityvioiation — нарушена ссылочная целостность; rsMaxChangesExceeded — слишком много изменений; rsObjectOpen — конфликт с объектом базы данных; rsoutofMemory — недостаток памяти, rsPermissionDenied — нет доступа; rsSchemaViolation — нарушение структуры данных; rsDBDeleted — запись удалена в БД.

Как видите, благодаря этому свойству состояние отдельной записи может быть определено очень точно.

Кроме этого, метод

type

TUpdateStatus = (usUnmodified, usModifled, uslnserted, usDeleted);

 function UpdateStatus: TUpdateStatus; override;

возвращает информацию о состоянии текущей записи.

Соответственно до и после изменения записи вызываются методы-обработчики

TWillChangeRecordEvent = procedure(DataSet: TCustomADODataSet; const Reason: TEventReason; 

const RecordCount: Integer; 

var EventStatus: TEventStatus) of object;

 property OnWillChangeRecord: TWillChangeRecordEvent;

И

TRecordChangeCompleteEvent = procedure(DataSet: TCustomADODataSet; const Reason: TEventReason;

const RecordCount: Integer; const Error: Error; 

var EventStatus: TEventStatus) of object;

property OnRecordChangeComplete:

TrecordChangeCompleteEvent;

где параметр Reason позволяет узнать, какой метод изменил записи, а параметр RecordCount возвращает число измененных записей.

 

Состояние записи

страницы в данном разделе 
 ГЛАВА 19   ГЛАВА 19Использование ADO средствами Delphi
 Основы ADO  Перечислители
 Объекты соединения с источниками данных  Сессия
 Транзакции  Наборы рядов
 Команды  Провайдеры ADO
 Реализация ADO в Delphi  Компоненты ADO
 Механизм соединения с хранилищем данных ADO  Компонент TADOConnection
 Настройка соединения  Управление соединением
 Доступ к связанным наборам данных и командам ADO  Объект ошибок ADO
 Транзакции  Наборы данных ADO
 Класс TCustomADODataSet  Набор данных
 Курсор набора данных  Локальный буфер
 Состояние записи  Фильтрация
 Поиск  Сортировка
 Команда ADO  Групповые операции
 Параметры  Класс TParameters
 Класс TParameter  Компонент TADODataSet
 Компонент TADOTable  Компонент TADOQuery
 Компонент TADOStoredProc  Команды ADO
 Объект ошибок ADO  Пример приложения ADO
 Соединение с источником данных  Групповые операции
 Фильтрация  Сортировка
 Резюме   


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)
Flutter
React Native
Xamarin

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
React Native
demo forum