Delphi 3 и создание приложений баз данных


Методы


procedure Append; -

переводит НД в состояние dslnsert, добавляет новую запись с пустыми полями. Применение метода Род! запоминает новую запись в БД после последней записи. Метод рассчитан на неиндексированные НД. Для индексированных НД его выполнение имеет те же последствия, что и выполнение метода Insert.

procedure AppendRecordfconst Values: array of const); -

метод аналогичен последовательному выполнению цепочки "выполнить метод Append", "присвоить значения полям данных из списка", "выполнить метод Post".

procedure Apply Updates; -

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

procedure Cancel; -

отменяет изменения, сделанные в существующей записи (режим dsEdit), или добавление новой записи в БД (режим dslnsert).

procedure CancelUpdates; -

отменяет кэшированные изменения в НД, сделанные с момента последнего выполнения метода ApplyUpdates, либо, если такой метод ни разу не выполнялся, все изменения, сделанные с момента перехода НД в режим кэшированных изменений (CachedUpdates = True).

procedure ClearFields

; - очищает содержимое полей текущей записи набора данных. Если НД не находится в режиме вставки новой записи или редактирования, возбуждается исключение. В случае успешного выполнения вызывается обработчик события OnDalaChange (компонент TDataSource, связанный с НД), поскольку реальное содержимое записи при очистке полей изменяется.

procedure Close; -

закрывает НД;

procedure CommitUpdates; -

применяется для обновления в БД кэшированных изменений, успешно подтвержденных методом Apply Updates. Успешность подтверждения состоит в том, что при подтверждении кэшированных изменений не было выдано ни одной ошибки.

procedure Delete; -

удаляет текущую запись из НД, сдвигая оставшиеся записи "вверх".

procedure DisableControls;

и procedure EnableControls; -
отключают и затем восстанавливают связь с визуальными компонентами, связанными с данным НД (например, TDBGrid). Это важно при выполнении действий с НД, влекущих за собой частое изменение местоположения курсора БД, чтобы в визуальном компоненте не возникал эффект "прокрутки" записей и не тратилось время на обновление изменений.

procedure Edit; -

переводит НД в режим редактирования (dsEdit), после чего значения полей можно изменять. Выполнение метода Post приводит к сохранению измененной записи в НД. Выполнение метода Cancel приводит к отказу от сделанных изменений.

function FindFirst: Boolean; -

ищет первую в НД запись, удовлетворяющую фильтру, условие которого определяется обработчиком события OnFi/terRecord или (и) свойством Filter.

function FindLast: Boolean; -

ищет последнюю запись, удовлетворяющую фильтру, условие которого определяется обработчиком события OnFilterRecord или (и) свойством Filter.

function FindNext: Boolean; -

переходит на следующую запись, удовлетворяющую фильтру, условие которого определяется обработчиком события OnFilterRecord или (и) свойством Filter.

junction FindPrior: Boolean; -

переходит на предыдущую запись, удовлетворяющую фильтру, условие которого определяется обработчиком события OnFilterRecord или (и) свойством Filter.

procedure First; -

устанавливает курсор на логически первую запись в наборе данных.

procedure FreeBookmark( Bookmark: TBookmark); -

освобождает системные ресурсы для закладки Bookmark.

function GetBookmark: TBookmark; -

создает для текущей записи закладку и возвращает ссылку на нее;

procedure GotoBookmark( Bookmark: TBookmark); -

перемещает курсор БД на запись, определяемую закладкой Bookmark;

procedure Insert; -

переводит НД в состояние dslnsert, добавляет новую запись с пустыми полями. Метод Post запоминает новую запись в БД после текущей записи. Выполнение метода Cancel приводит к отказу от добавления новой записи.

procedure InsertRecord(const Values: array ofconst); -

аналогична последовательному выполнению цепочки "выполнить метод Insert", "назначить значения полям данных из списка", "выполнить метод Post".

procedure Last; -

устанавливает курсор на логически последнюю запись в наборе данных.

function Locate(const KeyFields: string; const KeyValues: Variant;

Options: TLocateOptions): Boolean; -

осуществляет поиск в НД записи, удовлетворяющей (полностью или частично) условиям KeyValues, в полях, список которых задается KeyFields. При нахождении записи делает ее текущей в НД. В качестве поисковых могут задаваться как индексные, так и неиндексные поля. Текущий индекс значения не имеет.

procedure LockTable(LockType: TLockType); -

накладывает на таблицу БД (Paradox, dBase) блокировку на операции чтения или записи; в дальнейшем блокировка может быть снята методом Unlock Table.

TLockType = (ItReadLock, ItWriteLock);

function Lookup(const KeyFields: string; const KeyValues: Variant;

const ResultFields: string): Variant; -

ищет в НД запись, удовлетворяющую условию KeyValues, в полях, список которых задается KeyFields, и возвращает список значений полей, заданных ResultFields. Указатель записи при этом не изменяется. В качестве поисковых могут задаваться как индексные, так и неиндексные поля. Текущий индекс значения не имеет.

function MoveBy (Distance: Integer): Integer; -

перемещает курсор НД на Distance записей к концу набора данных (Distance > 0) или к его началу (Distance < 0) в логическом порядке, определенном индексом (свойство IndexFieldNames или IndexName).

procedure Next; -

перемещает курсор НД на следующую запись в НД в логическом порядке, определенном индексом (свойство IndexFieldNames или IndexName).

procedure Open; •

открывает НД.

procedure Post; -

переводит НД из режимов dsEdit или dslnsert в режим dsBrowse. Измененная (режим dsEdit) или новая запись (режим dslnsert) записывается в НД.

procedure Prior; -

перемещает курсор НД на предыдущую запись в НД в логическом порядке, определенном индексом (свойство IndexFieldNames или IndexName}.

procedure Refresh; -

обновляет НД из таблицы БД; служит для синхронизации нескольких НД, работающих с одной таблицей в одном приложении, а также -в многопользовательском режиме в архитектуре "файл-сервер" - для показа в НД обновлений, внесенных в таблицу другими пользователями.

procedure SelFields (const Values: array ofconst);

- аналогична последовательному выполнению цепочки "выполнить метод Edit", "присвоить значения полям данных из списка", "выполнить метод Post".

procedure UnlockTable(LockType: TLockType); •

снимает с таблицы БД (Paradox, dBase) блокировку на операции чтения или записи, ранее наложенную на таблицу методом Lock Table.

TLockType = (ItReadLock, ItWriteLock);

События property AfterCancel: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает немедленно после выполнения метода Cancel. В момент события изменения в записи уже потеряны. Это событие может не возникнуть в том случае, если вызов обработчика метода Cancel блокирован в силу наступления каких-либо условий в обработчике события BeforeCancel

property AfterClose: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает немедленно после выполнения метода Close или установки свойства Active в False. В момент события НД уже закрыт. Это событие может не возникнуть в том случае, если вызов обработчика метода Close блокирован в силу наступления каких-либо условий в обработчике события BeforeClose.

property AfterDelete: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает немедленно после выполнения метода Delete. В момент события запись уже удалена. Это событие может не возникнуть в том случае, если вызов обработчика метода Delete блокирован в силу наступления каких-либо условий в обработчике события BeforeDelete.

property AfterEdit: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает немедленно после выполнения метода Edit, сразу же после перехода в состояние dsEdit из состояния dsBrowse. В момент события изменения в запись еще не внесены. Это событие может не возникнуть в том случае, если вызов обработчика метода Edit блокирован в силу наступления каких-либо условий в обработчике события BeforeEdit.

property Afterlnsert: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает немедленно после выполнения метода Insert или Append, сразу же после перехода в состояние dslnsert из состояния dsBrowse. В момент события изменения в запись еще не внесены. Это событие может не возникнуть в том случае, если вызов обработчика метода Insert блокирован в силу наступления каких-либо условий в обработчике события Beforelnsert.

Назначить полям добавляемой записи значения по умолчанию можно в методе OnNewRecord.

property AfterOpen: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает немедленно после выполнения метода Open или установки свойства Active в True. В момент события НД уже открыт. Это событие может не возникнуть в том случае, если вызов обработчика метода Open блокирован в силу наступления каких-либо условий в обработчике события BeforeOpen.

property AfterPost: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает после выполнения метода Post. Курсор в момент наступления события не позиционирован на запомненную запись, если НД (в этом случае компонент TTable) ранжирован (отфильтрован) при помощи методов ApplyRange или SetRange свойства Filter или события OnFUterRecord, а запоминаемая запись имеет значения фильтруемых полей, выходящих за диапазон фильтра. В противных случаях курсор указывает на запомненную запись.

Это событие может не возникнуть в том случае, если вызов обработчика метода Post блокирован в силу наступления каких-либо условий в обработчике события BeforePost.

property AfterScroll: TDataSetNotifyEventI;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Событие наступает после перехода на другую запись в НД. property BeforeCancel: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает перед выполнением метода Cancel, но после обращения к нему. В обработчике можно воспрепятствовать выполнению метода Cancel путем принудительного возбуждения исключительной ситуации, вызова метода Abort или выполнения иных действий, которые заведомо приведут к возбуждению исключения.

property BeforeClose: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает перед выполнением метода Close, но после его вызова. В обработчике можно воспрепятствовать выполнению метода Close путем принудительного возбуждения исключительной ситуации, вызова метода Abort или выполнения иных действий, которые заведомо приведут к возбуждению исключения.

Используется для перевода НД в режим dsBrowse, если на момент закрытия НД находится в режимах dsEdit или dslnsert. В этом случае для перевода НД в режим dsBrowse нужно вызвать метод Post (с запоминанием изменений) или метод Cancel (для отмены изменений).

property BeforeDelete: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает перед выполнением метода Delete, но после его вызова. В обработчике можно воспрепятствовать выполнению метода Delete путем принудительного возбуждения исключительной ситуации, вызова метода Abort или выполнения иных действий, которые заведомо приведут к возбуждению исключения.

property BeforeEdit: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает перед выполнением метода Edit, но после его вызова. В обработчике можно воспрепятствовать выполнению метода Edit путем принудительного возбуждения исключительной ситуации, вызова метода Abort или выполнения иных действий, которые заведомо приведут к возбуждению исключения.

property Beforelnsert: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает перед физическим выполнением метода Insert, но после его вызова.

В обработчике можно воспрепятствовать выполнению метода Insert путем принудительного возбуждения исключительной ситуации, вызова метода Abort или выполнения иных действий, которые заведомо приведут к возбуждению исключения.

property BeforeOpen: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает перед физическим выполнением метода Open, но после его вызова. В обработчике можно воспрепятствовать выполнению метода Open путем принудительного возбуждения исключительной ситуации, вызова метода Abort или выполнения иных действий, которые заведомо приведут к возбуждению исключения property BeforePost: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Наступает перед физическим выполнением метода Post, но после его вызова. В обработчике можно воспрепятствовать выполнению метода Post путем принудительного возбуждения исключительной ситуации, вызова метода Abort или выполнения иных действий, которые заведомо приведут к возбуждению исключения.

property BeforeScroll: TDataSetNotifyEventI;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Событие наступает перед выполнением перехода на другую запись в НД. property OnDeleteError: TDataSet ErrorEvent;

TDataSetErrorEvent = procedure(DataSet: TDataSet; E: EDatabaseError;

var Action: TDataAction) of object;

TDataAction = (daFail, daAbort, daRetry);

Наступает при неудачном выполнении метода Delete.

property OnCalcFields: TDafaSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Используется для расчета значений вычисляемых полей. Определяет алгоритм, по которому следует рассчитывать значения таких полей. Наступает при чтении информации из ТБД. Кроме того, если свойство AutoCalcFields имеет значение True, событие OnCalcFields наступает также и при модификации значений невычисляемых полей в режимах dslnsert и dsEdit данного НД или НД, с ним связанного (когда установлены ограничения целостности в самой ТБД, а не тогда, когда они подразумеваются).

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

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

property OnEditError: TDataSetErrorEvent;

TDataSetErrorEvent = procedure(DataSet: TDataSet; E: EDatabaseError;

var Action: TDataAction) of object;

TDataAction = (daFail, daAbort, daRetry);

Наступает при неудачном выполнении методов Insert и Edit. property OnFilterRecord: TFilterRecordEvent;

TFilterRecordEvent = procedure(DataSet: TDataSet; var Accept: Boolean) of object;

Задает условия фильтрации; возникает, когда свойство Filtered устанавливается в True. Альтернативный способ фильтрации по любым” в том числе неиндексным, полям, для свойства Filter. Однако может использоваться совместно с ним, а также с фильтрациями, накладываемыми при помощи методов SetRange и Apply Range.

property OnNewRecord: TDataSetNotifyEvent;

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Используется для присваивания значений по умолчанию полям вновь создаваемой записи НД перед тем как эта запись станет доступна пользователю для ввода значений полей. Присваивание значений по умолчанию не устанавливает в свойство Modifyed значение True. Наступает после события BeforeInserf и до события Afterlnsert.

property OnPostError: TDataSetErrorEvent;

TDataSetErrorEvent = procedure(DataSet: TDataSet; E: EDatabaseError;

var Action: TDataAction) of object;

TDataAction = (daFail, daAbort, daRetry);

Наступает при неудачном выполнении метода Post. property OnUpdate Error: TUpdateErrorEvent;

TUpdateErrorEvent = procedure(DataSet: TDataSet; E: EDatabaseError;

UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction) of object;

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

property OnUpdateRecord: TUpdateRecordEvent;

TUpdateErrorEvent = procedure(DataSet: TDataSet; E: EDatabaseError;

UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction) of object;

Наступает для каждого факта внесения изменений в запись НД (добавление, изменение, удаление записи), если НД находится в режиме кэшированных изменений.




Начало  Назад  Вперед



Книжный магазин