Иллюстрированный самоучитель по Delphi 7 для профессионалов
Набор данных
-
Любое приложение баз данных должно уметь выполнять как минимум две операции. Во-первых, иметь информацию о местонахождении базы данных, подключаться к ней и считывать имеющуюся в таблицах БД информацию. Эта функция в значительной степени зависит от реализации конкретной технологии доступа к данным.
-
В основе иерархии классов, обеспечивающих функционирование наборов данных в приложениях баз данных Delphi, лежит класс TDataSet. Хотя он почти не содержит методов, реально обеспечивающих работоспособность основных механизмов набора данных, тем не менее его значение трудно переоценить.
-
Внимательный читатель заметил, что на рис. 12.1 набор компонентов для каждой из представленных технологий доступа к данным примерно одинаков. Везде есть компонент, инкапсулирующий табличные функции, компонент запроса SQL и компонент хранимой процедуры.
-
Компонент запроса предназначен для создания запроса SQL, подготовки его параметров, передачи запроса на сервер БД и представления результата запроса в наборе данных. При этом набор данных может быть редактируемым или нет.
-
Компонент хранимой процедуры предназначен для определения процедуры, установки ее параметров, выполнения процедуры и возвращения результатов в компонент. | В зависимости от выбранной технологии доступа к данным, каждый компонент хранимой процедуры имеет собственный способ соединения с сервером.
-
Важнейшей проблемой для любой БД является достижение максимальной производительности и ее сохранение при дальнейшем увеличении объемов хранимых данных. Использование индексов позволяет решить эту задачу.
-
Информация об индексах набора данных содержится в свойстве класса TDataSet: | property IndexDefs: TindexDefs; | В нем для каждого индекса создается структура TindexDef. Доступ к информации об индексах осуществляется через свойство: | property Items[Index: Integer]: TindexDef; default;
-
Параметры каждого индекса набора данных представлены в классе TindexDef, а их совокупность для набора данных содержится в свойстве IndexDefs класса TDataSet. | Свойство: | property Name: String; | Определяет название индекса. | Список всех полей индекса содержится в свойстве: | property Fields: String;
-
Свойство Params представляет собой набор изменяемых параметров запроса или хранимой процедуры, а также набор объектов TParam, инкапсулирующих отдельные параметры. | Рассмотрим следующий запрос SQL: | SELECT SaleDat, OrderNo | FROM Orders | WHERE SaleDat >= '01.08.2001' AND SaleDat <= '31.08.2001' | В нем осуществляется отбор номеров заказов, сделанных в августе 2001 года.
-
Класс TParams представляет собой список параметров. | Доступ к элементам списка возможен через индексированное свойство: | property Items[Index: Word]: TParam; | А к значениям параметров – через свойство: | property ParamValues[const ParamName: String]: Variant;
-
Класс TParam инкапсулирует свойства отдельного параметра. Имя параметра определяется свойством: | property Name: String; | Тип данных параметра задает свойство: | property DataType: TFieldType; | Тип данных параметра и связанного поля должны совпадать.
-
В процессе своего функционирования (от открытия методом Open и до закрытия методом close) набор данных может выполнять самые разнообразные операции. Можно просто перемещаться по записям, можно редактировать данные и удалять записи, можно проводить поиск по различным параметрам и т. д.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.