Основы проектирования приложений баз данных

       

Класс 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 - метод, перемещающий курсор на предыдущую запись набора данных и делающий эту запись активной.



Содержание раздела