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