Иллюстрированный самоучитель по Delphi 7 для профессионалов

Компоненты доступа к данным. Класс TBDEDataSet.

Таблица 16.6. (Продолжение).

Методы
procedure ApplyUpdates; Pu Записывает изменения из буфера в базу данных в режиме кэширования
function BookmarkValid (Bookmark: TBookmark): Boolean; overrider Pu Проверяет существование экземпляра закладки, передаваемого в параметре Bookmark
procedure Cancel; Pu Отменяет все изменения, сделанные в текущей записи с момента последнего сохранения
procedure CancelUpdates; Pu Отменяет все изменения, сделанные с момента последней записи в базу данных и очищает буфер в режиме кэширования
procedure CommitUpdates; Pu Очищает буфер изменений в режиме кэширования
function CompareBookmarks (Bookmark1, Bookmark2: TBookmark): Integer; Pu Проверяет идентичность закладок, указанных в параметрах Bookmark1 и Bookmark2. При значении сигнализирует о наличии отличий в двух закладках
function ConstraintCallBack (Req: DsInfoReq; var ADataSources: DataSources): DBIResult; stdcall; Pu Обеспечивает доступ к функциям ограничения данных API BDE
function ConstraintsDisabled: Boolean; Pu Показывает, включены или отключены ограничения данных
function CreateBlobStream (Field: TField; Mode: TblobStreamMode): TStream; override; Pu Создает поток для чтения/записи данных типа BLOB
procedure DisableConstraints; Pu Отключает ограничения данных
procedure EnableConstraints; Pu Включает ограничения данных
procedure FetchAll; Pu Переносит все изменения из буфера и восстанавливает все записи от текущей позиции до конца набора данных
procedure FlushBuffers; Pu Передает в базу данных все изменения из буфера записи
function GetBlobFieldData (FieldNo: Integer; var Buffer: TblobByteData): Integer; override; Pu Читает все данные BLOB из поля FieldNo В буфер Buffer
function GetCurrentRecord (Buffer: PChar): Boolean Pu Помещает текущую строку в буфер Buffer
procedure Getlndexlnfo; Pu Обновляет информацию о текущем индексе набора данных
function IsSequenced: Boolean; override; Pu Определяет, поддерживает ли таблица БД нумерацию последовательности записей. В классе TDataSet всегда возвращает True, т. к. абстрактный набор данных свободен от конкретной реализации БД и всегда нумерует записи
function Locate (const KeyFields: string; const KeyValues: Variant; Options: TlocateOptions): Boolean; Pu Осуществляет поиск в наборе данных. Параметр KeyFields содержит список полей, по которым ведется поиск. Параметр KeyValues содержит значения полей для поиска. Параметр Options определяет условия поиска. Если запись найдена, курсор набора данных устанавливается на эту запись и возвращается True (см. гл. 14)
function Lookup (const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant; Pu Осуществляет поиск в наборе данных. Возвращает массив значений требуемых полей найденной записи. Параметры аналогичны методу Locate (см. гл. 14)
procedure Post; override; Pu Пересылает сделанные в текущей записи изменения в базу данных
procedure RevertRecord; Pu Отменяет все изменения в текущей строке при работающем буфере изменений
procedure Translate (Src, Dest: PChar; ToOem: Boolean); override; Pu Форматирует текст. Если параметр ToOem = True, текст Src в формате ANSI переводится в текст Dest в формате OEM и наоборот
function UpdateStatus: TUpdateStatus;   Возвращает тип сохраняемых в буфере изменений данных (см. табл. 16.1)
Методы-обработчики событий
TUpdateAction = (uaFail, uaAbort, uaSkip, uaRetry, uaApplied);
TUpdateErrorEvent = procedure (DataSet: TDataSet; E: EDatabaseError; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction) of object;
property OnUpdateError: TUpdateErrorEvent;
Pu Вызывается при возникновении ошибки переноса кэшированных в буфере изменений в таблицу базы данных
type TUpdateAction = (uaFail, uaAbort, uaSkip, uaRetry, uaApplied);
TUpdateRecordEvent = procedure (DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction) of object;
property OnUpdateRecord: TUpdateRecordEvent;
Pu Вызывается при сохранении кэшированных в буфере изменений для отдельной записи.
Применяется для организации дополнительного управления этим процессом, например для контроля какого-либо конкретного значения
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.