Компоненты для работы с базами данных: TTable и TQuery
Рефераты >> Программирование и компьютеры >> Компоненты для работы с базами данных: TTable и TQuery

События:

type TDataSetNotifyEvent = procedure (DataSet: TDataSet) of object

 

property AfterCancel: TDataSetNotifyEvent;

Возникает сразу после отмены изменений в текущей записи

property AfterClose: TDataSetNotifyEvent;

Возникает сразу после закрытия НД

property AfterDelete: TDataSetNotifyEvent;

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

property AfterEdit: TDataSetNotifyEvent;

Возникает сразу после перехода НД в режим редактирования

property AfterInsert: TDataSetNotifyEvent;

Возникает сразу после вставки записи

property AfterOpen: TDataSetNotifyEvent;

Возникает сразу после открытия НД

property AfterPost: TDataSetNotifyEvent;

Возникает сразу после выполнения метода Post

property AfterScroll: TDataSetNotifyEvent;

Возникает сразу после перехода к другой записи

property BeforeCancel: TDataSetNotifyEvent;

property BeforeClose: TDataSetNotifyEvent;

Возникает непосредственно перед отменой

изменений в текущей записи

Возникает непосредственно перед закрытием НД

property BeforeDelete: TDataSetNotifyEvent;

Возникает непосредственно перед удалением текущей записи

property BeforeEdit: TDataSetNotifyEvent;

Возникает непосредственно перед переходом НД в режим редактирования

property BeforeInsert: TDataSetNotifyEvent;

Возникает непосредственно перед в режим вставки

property BeforeOpen: TDataSetNotifyEvent;

Возникает непосредственно перед открытием НД

property BeforePost: TDataSetNotifyEvent;

Возникает непосредственно перед выполнением метода Post

property BeforeScroll: TDataSetNotifyEvent;

Возникает непосредственно перед к новой записи

property OnCalcFields: TDataSetNotifyEvent;

Возникает при необходимости переопределения вычисляемых полей

4. Обзор компонента TTable

Так как компонент TTable является наследником класса TDataSet, он наследует все его свойства, методы и события. Он служит для работы с таблицами БД.

Следующие методы позволяют изменять данные, связанные с TTable:

procedure Append;

procedure Insert;

procedure Cancel;

procedure Delete;

procedure Edit;

procedure Post;

Все эти методы - часть TDataSet, они унаследованы и используются TTable и TQuery.

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

Имеется типичная последовательность, которую можно бы использовать при изменении поля текущей записи:

Table1.Edit;

Table1.FieldByName(‘CustName’).AsString := ‘Fred’;

Table1.Post;

Первая строка переводит БД в режим редактирования. Следующая строка присваивает значение ‘Fred’ полю ‘CustName’. Наконец, данные записываются на диск, когда вызывается Post.

При использовании такого подхода, Вы всегда работаете с записями. Сам факт перемещения к следующей записи автоматически сохраняет данные на диск. Например, следующий код будет иметь тот же самый эффект, что и код показанный выше, плюс этому будет перемещать курсор на следующую запись:

Table1.Edit;

Table1.FieldByName(‘CustNo’).AsInteger := 1234;

Table1.Next;

Общее правило, которому нужно следовать - всякий раз, когда курсор сдвигается с текущей записи, введенные данные будут записаны автоматически. Это означает, что вызовы First, Next, Prior и Last всегда выполняют Post. Можете отменить результаты редактирования в любое время, до тех пор, пока не вызвали напрямую или косвенно метод Post. Например, если НД переведен в режим редактирования, и данные были изменены в одном или более полей, всегда можно вернуть запись в исходное состояние вызовом метода Cancel.

Существуют два метода, Append и Insert, который используются при добавлении новой записи в DataSet. Очевидно имеет больше смысла использовать Append для DataSets которые не индексированы, но Delphi не будет генерировать exception если используется Append на индексированной таблице. Фактически, всегда можно использовать и Append, и Insert.

Пример добавления записи:

begin

Table1.Insert;

Table1.FieldByName('Name').AsString := 'Иван';

Table1.FieldByName('Fam').AsString := 'Сидоров';

Table1.Post;

end;

Удаление записи: Table1.Delete;

Процедура показанная здесь сначала переводит таблицу в режим вставки (новая запись с незаполненными полями вставляется в текущую позицию dataset). После вставки пустой записи, следующим этапом нужно назначить значения одному или большему количеству полей. Существует, конечно, несколько различных путей присвоить эти значения. В программе можно просто ввести информацию в новую запись через DBGrid. Или разместить на форме стандартную строку ввода (TEdit) и затем установить каждое поле равным значению, которое пользователь напечатал в этой строке:

Table1.FieldByName(‘Name’).AsString := Edit1.Text;

Можно использовать компоненты, специально предназначенные для работы с данными в DataSet, например DBEdit, DBLabel и т.д.

5. Обзор компонента TQuery

Сокращение SQL означает Structured Query Language - Язык Структурированных Запросов, и обычно произноситься либо как "Sequel" либо " Ess Qu El”. SQL - это мощный язык БД, который легко доступен из Delphi, но который отличается от родного языка Delphi. Delphi может использовать утверждения SQL для просмотра таблиц, выполнять объединение таблиц, создавать отношения один-ко-многим, или исполнить почти любое действие, которое могут сделать основные инструменты БД.

1. Большинство серверов могут обрабатывать SQL запросы очень быстро, а это означает, что используя SQL для удаленных данных, ответ будет получен очень быстро.


Страница: