Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие ТБД.doc
Скачиваний:
41
Добавлен:
04.09.2019
Размер:
1.92 Mб
Скачать

4.4.3.Классы библиотеки vcl Класс tdataset

Класс TDataSet является базовым для всех классов наборов данных, наследующих общие свойства и методы этого класса, включая следующие:

  • Active - свойство, определяющее, открыт ли набор данных;

  • CurrentRecord - свойство, определяющее номер текущей записи набора данных;

  • DataSource - свойство, указывающее родительскую таблицу (для таблиц, связанных отношением родительская - дочерняя);

  • Bof - свойство, определяющее, находится ли курсор на первой записи набора данных;

  • Eof - свойство, определяющее, достигнут ли конец набора данных;

  • Bookmark - свойство, указывающее текущую закладку в наборе данных. Закладка отмечает позицию в наборе данных. Используя методы TDataSet.GetBookmark и TDataSet.GotoBookmark, приложение может запоминать и быстро переходить на нужную позицию в наборе данных;

  • FieldCount - свойство, указывающее количество полей в наборе данных;

  • Fields - свойство, представляющее собой массив полей набора данных и используемое для доступа к этим полям.

Например:

Table1.Edit; // Включение режима редактирования

Table1.Fields.Fields[6].AsString := Edit1.Text;

Table1.Post; // Присвоение изменений

Свойство Fields позволяет:

  • получить имя поля в текущей структуре записи.

Например:

var S: String;

begin

S := Fields[0].FieldName; // Имя первого поля

S := Fields[1].FieldName; // Имя второго поля

...

end;

  • записать в переменную значение поля.

Например:

var s: String; i: Integer; d: TDateTime;

s := Fields[0].AsString;

i := Fields[0].AsInteger;

d := Fields[0].AsDate;

Вместо Fields[n] можно использовать функцию FieldsByName('имя_поля').

Например:

s := Fields[0].AsString;

s := FieldsByName('F1').AsString;

  • FieldByName - метод, определяющий поле набора данных по его имени;

Например:

Table1.FieldByName('F1').AsInteger:=StrToInt(Edit1.Text);

  • Filter - свойство, в которое заносится строка, определяющая фильтр для набора данных. Фильтр определяет условие, которому должны удовлетворять доступные записи.

Определение фильтра должно удовлетворять следующим правилам:

    • фильтр состоит из условий для полей набора данных, объединенных логическими операциями AND и OR. Например: F2 > 10 AND F2 <50;

    • если имя поля содержит пробелы, то оно должно быть заключено в квадратные скобки или двойные кавычки. Например: [Field Name1] > 50;

  • Filtered - свойство, указывающее, используется ли фильтр, заданный свойством Filter;

  • Found - свойство, определяющее, успешно ли выполнен поиск методами FindFirst, FindLast, FindNext или FindPrior;

  • Modified - свойство, определяющее, была ли изменена активная запись;

  • RecordCount - свойство, содержащее общее число записей в наборе данных;

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

    • dsInactive - набор данных закрыт;

    • dsBrowse - данные доступны только для просмотра;

    • dsEdi - можно изменять активную запись;

    • dsInsert - активной записью является новая запись, пока не сохраненная;

    • dsSetKey - просмотр ограниченного множества записей (SetRange) или поиск записи;

    • dsCalcFields - выполняется обработчик события OnCalcFields;

    • dsFilter - выполняется обработчик события OnFilterRecord;

    • dsOpening - набор данных находится в процессе открытия.

  • Append - метод, добавляющий в конец набора данных новую запись;

  • Delete - метод, удаляющий текущую запись из базы данных. Если в момент удаления записи набор данных находится в неактивном состоянии, то инициируется исключение;

  • Edit - метод, переводящий текущую запись в режим редактирования;

  • Cancel - метод, отменяющий изменения, сделанные в текущей записи;

  • Post - метод, выполняющий внесение изменений в базу данных;

  • Refresh - метод, выполняющий обновление результирующего набора путем повторного извлечения данных из БД;

  • Insert - метод, вставляющий в набор данных новую запись;

  • InsertRecord - метод, вставляющий в набор данных новую запись со значениями, которые указаны параметрами метода;

  • Close - метод, закрывающий набор данных;

  • Open - метод, открывающий набор данных;

  • First - метод, устанавливающий курсор на первую запись набора данных и делающий эту запись активной;

  • Last - метод, устанавливающий курсор на последнюю запись набора данных и делающий эту запись активной;

  • Next - метод, перемещающий курсор на следующую запись набора данных и делающий эту запись активной;

  • Prior - метод, перемещающий курсор на предыдущую запись набора данных и делающий эту запись активной.