На главную страницу
Форум txt.version   




Статья :: Класс TCustomSQLDataSet

 

Класс TCustomSQLDataSet

Так как общим предком компонентов dbExpress объявлен класс TDataSet, то задачей класса TCustomSQLDataSet является не столько внесение новой

функциональности, сколько корректное ограничение возможностей, заложенных в TDataSet. Непосредственно в приложениях этот класс не используется, но информация о нем полезна для понимания других компонентов dbExpress и для создания собственных компонентов на его основе.

Класс TCustomSQLDataSet является общим предком для компонентов, инкапсулирующих запросы, таблицы и хранимые процедуры. Для их поддержки используются свойства:

  •  TSQLCommandType = (ctQuery, ctTable, ctStoredProc);   property CommandType: TSQLCommandType;

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

  •  property CoramandText: string;

содержащее текст команды.

Если серверу передается запрос SQL (CommandType = ctQuery), свойство CoramandText содержит текст запроса. Если это команда на получение таблицы, свойство CommandText содержит имя таблицы, а далее с использованием имени таблицы создается запрос SQL на получение всех полей этой таблицы. Если необходимо выполнить процедуру, свойство CommandText содержит имя этой процедуры.

Текст команды, которая реально передается на сервер для выполнения, содержится в защищенном свойстве

property NativeCommand: string;

Для использования в табличном представлении существует свойство

property SortFieldNames: string;

определяющее порядок сортировки записей табличного набора данных. Свойство должно содержать список полей, разделенных точкой с запятой. Это свойство используется для создания выражения ORDER BY для генерируемой команды.

Для обработки исключительных ситуаций в классах — потомках может быть использовано защищенное свойство

property LastError: string;

которое возвращает текст последней ошибки dbExpress.

Для ускорения работы набора данных можно отключить получение от сервера метаданных об объекте запроса (таблицы, процедуры, полей, индексов), которые обычно направляются клиенту вместе с результатом запроса. Для этого свойству

property NoMetadata: Boolean;

присваивается значение True.

Однако пользоваться им нужно осторожно, т. к. для некоторых видов команд метаданные необходимы (это операции с использованием индексов).

Разработчик может управлять процессом получения метаданных. Для этого необходимо заполнить структуру

TSchemaType = (stNoSchema, stTables, stSysTables, stProcedures,

 stColumns, stProcedureParams, stIndexes);

 TSchemalnfo = record

EType : TSchemaType; 

ObjectName : String; 

Pattern : String;

 end;

которая доступна через защищенное свойство

property Schemalnfo: TSQLSchemalnfo;

а значит, может использоваться только при создании новых компонентов на основе TCustomSQLDataSet.

Параметр FTуре определяет тип требуемой информации. Параметр ObjectName — имя таблицы или хранимой процедуры, если в параметре FType указаны поля, индексы или параметры процедур.

Внимание

Если компонент должен получать результирующий набор данных, параметр FType должен обязательно иметь значение stNoSchema. При изменении значения свойства CommandText это условие выполняется автоматически.

Параметр Pattern определяет, какие ограничения накладываются на метаданные. Он содержит символьную маску, подобную свойству Mask многих визуальных компонентов. Последовательность символов маски обозначается символом %, единичный символ определяется символом .

При необходимости использовать управляющие символы в качестве маскирующих, применяются двойные символы %% и _.

Подобно свойству Tag класса TComponent, класс TCustomSQLDataSet имеет строковое свойство

property DesignerData: string

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

 

Класс TCustomSQLDataSet

страницы в данном разделе 
 ГЛАВА 17  ГЛАВА 17Технология dbExpress
 Драйверы доступа к данным  Соединение с сервером баз данных
 Управление наборами данных  Транзакции
 Использование компонентов наборов данных  Класс TCustomSQLDataSet
 Компонент TSQLDataSet  Компонент TSQLTable
 Компонент TSQLQuery  Компонент TSQLStoredProc
 Компонент TSimpleDataSet  Способы редактирования данных
 Интерфейсы dbExpress  Интерфейс ISQLDriver
 Интерфейс ISQLConnection  Интерфейс ISQLCommand
 Интерфейс ISQLCursor  Отладка приложений с технологией dbExpress
 Распространение приложений с технологией dbExpress  Резюме


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста