Реферат: Компоненты для работы с БД: TTable и TQuery

while not Table1.EOF do

Table1.Next;

end;

EOF возвращает True в следующих трех случаях:

· После того, как файл был открыт;;

· После того, как вызвался метод TDataSet.Last;

· После того, как не выполнился вызов метода TDataSet.Next

Единственная навигационная процедура, которая еще не упоминалась - MoveBy, которая позволяет переместиться на N записей вперед или назад в таблице. Если необходимо переместиться на две записи вперед, то следует написать следующий оператор:

MoveBy(2);

или

MoveBy(-2);

Prior и Next - это простые функции, которые вызывают MoveBy.

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

Поля

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

property Fields[Index: Integer];

function FieldByName(const FieldName: string): TField;

property FieldCount;

Свойство FieldCount возвращает число полей в текущей структуре записи. Если необходимо программным путем прочитать имена полей, то используется свойство Fields для доступа к ним:

var

S: String;

begin

S := Fields[0].FieldName;

end;

Короче говоря, индекс передаваемый в Fields (начинающийся с нуля), и определяет номер поля к которому Вы получите доступ, т.е. первое поле - ноль, второе один, и так далее.

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

S := Fields[0].AsString;

Предположим, что первое поле в записи содержит номер заказчика, тогда код, показанный выше, возвратил бы строку типа “1021”, “1031” или “2058”. Если нужно получить доступ к этот переменный, как к числовой величине, тогда надо использовать AsInteger вместо AsString. Аналогично, свойство Fields включают AsBoolean, AsFloat и AsDate.

Можно использовать функцию FieldsByName вместо свойства Fields :

S := FieldsByName(‘CustNo’).AsString;

К-во Просмотров: 437
Бесплатно скачать Реферат: Компоненты для работы с БД: TTable и TQuery