Сапа
Здесь может быть ваша реклама
|

 Глава 16. Компоненты для работы с базами данных

Глава 16. Компоненты для работы с базами данных

В этой главе мы рассмотрим основные компоненты, предназначенные для работы с базами данных. Компоненты расположены на вкладках Data Access, dbExpress и Data Controls.

Вкладка Data Access
На этой вкладке расположено всего три компонента, которые мы и рассмотрим.
"Компонент TDataSource - обеспечивает интерфейс между набором данных и компонентом, отображающим данные. В табл. 16.1 приведены его основные свойства и их описания.

Таблица 16.1. Свойства компонента TDataSource

СвойствоОписание
AutoEditОпределяет, будут ли компоненты, отображающие данные, переключаться в режим редактирования при попытке изменения данных пользователем. Имеет тип Boolean
DataSetОпределяет имя набора данных, с которым связан источник данных. Имеет тип TdataSet
EnabledОпределяет, будут ли отображаться данные в компонентах, предназначенных для показа данных, которые связаны с этим источником данных. Имеет тип Boolean
NameОпределяет имя компонента TdataSource
TagСвойство, которое может использоваться по усмотрению программиста и не имеет специального назначения. Многие компоненты содержат это свойство. Свойство имеет тип Integer

Компонент TClientDataSet представляет собой клиентский набор данных, который не зависит от типа используемой базы данных. Описание его свойств представлено в табл. 16.2.

Таблица 16.2. Свойства компонента TClientDataSet

СвойствоОписание
ActiveОпределяет, является ли набор данных активным. Свойство имеет тип Boolean
AggregatesСодержит списокдоступных агрегатов. Имеет тип Taggregates
AggregatesActiveОпределяет, нужно ли производить вычисления агрегатов. Имеет тип Boolean
AutoCalcFieldsОпределяет, нужно ли генерировать событие OnCalcFields и обновлять содержимое полей. Имеет тип Boolean. Принимает значение true при открытии набора данных, при переключении набора данных в состояние DsEdit или при передаче фокуса другому компоненту на форме
CoiranandTextСодержит текст SQL-запроса. Имеет тип string. При установленном значении свойства FileName это свойство игнорируется. Свойство игнорируется также и в случае, когда в свойстве Options сброшен флажок poAllowCommandText
ConnectionBrokerОпределяет брокера соединения с сервером. Имеет тип TconnectionBroker
ConstraintsОпределяет накладываемые ограничения на значение на уровне одной записи. Имеет тип TConstraints
DataSetFieldУказывает на объект TDataSetField, управляющий вложенными наборами данных. Имеет тип TDataSetField
DisableStringTrimОпределяет, нужно ли удалять лишние пробелы в конце строки при вставке ее в таблицу базы данных. Имеет типBoolean
FetchOnDemandОпределяет, должно ли приложение получать данные по мере необходимости. Имеет тип Boolean
FieldDefsСодержит список полей, определяющих набор данных. Имеет тип TfieldDefs

FileName

Содержит имя файла, в котором хранятся кэшируемые данные. Имеет тип string
FilterЗадает фильтр, по которому будут выбираться данные из таблицы. Имеет тип string
FilteredОпределяет, включено или выключено свойство Filter. Имеет тип Boolean
FilterOptionsОпределяет параметры фильтрации записей таблицы. Имеет тип TfilterOptions
IndexDefsСодержит определения индексов. Имеет тип TlndexDefs
IndexFieldNamesСодержит список наименований полей таблицы, по которым будет производиться сортировка набора данных. Имена полей разделяются точкой с запятой. Имеет тип String
IndexNameСодержит имя индекса, по которому будет произведена сортировка набора данных. Имеет тип String
MasterSourceСодержит имя главного источника данных при организации связи таблиц главная-подчиненная (master-detail). Имеет тип TdataSource
MasterFieldsСодержит имена полей, по которым осуществляется связь между главной и подчиненной таблицами. Имеет тип String
ObjectViewВключает или выключает иерархическое представление для вложенных полей. Имеет тип Boolean
PacketRecordОпределяет количество записей в одном пакете данных. Имеет тип Integer. Возможные значения:
-1 - все записи;
>0 - конкретное число записей;
0 - в пакет будут включаться только мета-данные
ParamsОпределяет список параметров набора данных. Имеет тип Tparams
ProviderNameОпределяет имя зарегистрированного провайдера для сервера. Имеет тип string
ReadonlyОпределяет способ доступа к записям. Имеет тип Boolean. Если значение свойства - true, то данные доступны только для чтения. Если значение - false, то можно изменять существующие данные и записывать новые
RemoteServerОпределяет компонент, с помощью которого клиентский набор данных соединяется с сервером. Имеет тип TcustomRemoteServer
StoreDefsОпределяет, будут ли храниться определения полей и индексов в клиентском наборе данных. Имеет тип Boolean
TagСвойство, которое может использоваться по усмотрению программиста, и у него нет специального назначения. Свойство имеет тип Integer

Компонент TDataSetProvider - предназначен для формирования пакетов данных для отправки их клиентам. Свойства этого компонента перечислены в табл. 16.3.

Таблица 16.3. Свойства компонента TDataSetProvick

СвойствоОписание
ConstraintsОпределяет накладываемые ограничения на значение на уровне одной записи. Имеет тип Tconstraints
DataSetОпределяет набор данных, с которым взаимосвязан компонент TdataSetProvider. Имеет ТИП TdataSet
ExportedПозволяет приложению осуществлять вызовы провайдера, если он расположен на сервере. Имеет тип Boolean
NameОпределяет имя компонента TdataSetProvider
OptionsСодержит параметры работы с данными. Имеет тип TproviderOptions
ResolveToDataSetОпределяет, будут ли автоматически применяться изменения в наборе данных или на сервере базы данных Имеет тип Boolean
TagСвойство, которое может использоваться по усмотрению программиста и у него нет специального назначения. Свойство имеет тип Integer
UpdateModeОпределяет способ поиска записи, которую необходимо обновить. Имеет тип TUpdateMode. Может принимать значения:
UpWhereAll - искать по всем полям;
UpWhereChanged - искать по ключевым и измененным полям;
UpWhereKeyOnly - искать только по ключевым полям

Вкладка dbExpress
Данная вкладка содержит семь компонентов. Рассмотрим эти компоненты и их основные свойства.
Компонент TSQLConnetion - предназначен для обеспечения связи с сервером базы данных. В Delphi аналогом данного компонента является компонент TDatabase. Табл. 16.4 содержит перечень основных свойств данного компонента.

Таблица 16.4. Свойства компонента TSQLConnection

СвойствоОписание
ConnectedОпределяет, установлена ли связь с базой данных. Данное свойство имеет тип Boolean. Если связь установлена, свойство имеет значение true, иначе - false
ConnectionNameСодержит имя конфигурации. Имеет тип string. Является аналогом свойства AliasName в Delphi
DriverNameСодержит имя драйвера, необходимого для соединения с базой данных (DB2, Interbase, Oracle или MySQL). Имеет тип String. Данное свойство устанавливается автоматически после задания значения свойства ConnectionName
KeepConnectionОпределяет, нужно ли поддерживать соединение с сервером базы данных, если в приложении нет активных наборов данных. Имеет тип Boolean. Если связь необходимо поддерживать, установите это свойство в true, иначе - false
LibraryNameСодержит имя библиотеки, в которой находится необходимый драйвер для связи с базой данных. Свойство имеет тип String
LoadParamsOnConnectОпределяет, нужно ли загружать параметры соединения перед его установкой во время работы приложения. Имеет тип Boolean
LoginPromptОпределяет, нужно ли при установке соединения запрашивать имя пользователя и пароль. Имеет тип Boolean. Если true, то нужно, иначе - не нужно
NameВ этом свойстве вы можете указать имя компонента
TSQLConnection. имеет тип TcomponentName
ParamsУстанавливает параметры соединения. Имеет тип TStrings
TableScopeУстанавливает параметры видимости таблиц базы данных. Имеет тип TTableScopes и может принимать следующие значения:
TsSynonym- видимые синонимы;
TsSysTable - видимые системные таблицы;
TsTable - видимые таблицы пользователей;
Tsview - видимые представления
VendorLibУказывает имя библиотеки клиентской части базы данных. Имеет тип String

Компонент TSQLDataSet - представляет собой однонаправленный набор данных. В табл. 16.5 перечислены его основные свойства.

Таблица 16.5. Свойства компонента TSQLDataSet

СвойствоОписание
ActiveОпределяет, является ли набор данных активным. Только активный набор данных может работать с записями таблиц. Свойство имеет тип Boolean. Если значение true - набор данных активен, иначе - неактивен
CommandTextСодержит текст запроса SQL на выполнение каких-либо действий с данными. Имеет тип string
CommandType

Определяет тип набора данных. Значение свойства имеет тип TSQLCommandType. Свойство может принимать следующие значения:
CtQuery - обычный SQL-запрос;
CtTable - таблица целиком, при этом автоматически будет сгенерирован запрос на выборку всех записей таблицы по всем полям;
CtStoredProc - процедура, хранимая на сервере базы данных

DataSourceУказывает источник данных для этого набора данных. Имеет ТИП TdataSource
MaxBlobSizeОпределяет максимальный размер BLOB-полей. Имеет тип Integer
ObjectViewВключает или выключает иерархические представления для вложенных полей. Имеет тип Boolean
ParamCheckУказывает, нужно ли обновлять список параметров при изменении текста запроса (свойство CommandText). Имеет тип Boolean
ParamsОпределяет список параметров запроса. Имеет тип TParams
SortFieldNamesСодержит список наименований полей таблицы, по которым будет производиться сортировка набора данных. Имена полей разделяются точкой с запятой. Имеет тип string. Свойство активно только при установленном топе набора данных CtTable В свойстве CommandType
SQLConnectionСодержит имя компонента TSQLConnection, с помощью которого будет осуществляться соединение с базой данных. Имеет тип TSQLConnection
TagСвойство, которое может использоваться по усмотрению программиста, и у него нет специального назначения. Многие компоненты содержат это свойство. Свойство имеет тип Integer

Компонент TSQLQuery - определяет однонаправленный запрос к базе данных. В табл. 16.6 приводятся его основные свойства и их описания.

Таблица 16.6. Свойства компонента TSQLQuery

СвойствоОписание
ActiveОпределяет, является ли запрос активным. Только активный запрос может работать с записями таблиц. Свойство имеет тип Boolean. Если значение true - запрос активен, иначе - неактивен
DataSourceУказывает источник данных для этого набора данных. Имеет тип TdataSource
MaxBlobSizeОпределяет максимальный размер BLOB-полей. Имеет тип Integer
ObjectViewВключает или выключает иерархические представления для вложенных полей. Имеет тип Boolean
ParamCheckУказывает, нужно ли обновлять список параметров при изменении текста запроса (свойство CommandText). Имеет тип Boolean
Params

Определяет список параметров запроса. Имеет тип TParams

SQL

В этом свойстве указывается текст SQL-запроса. Имеет тип Tstrings

 

ISQLConnectionСодержит имя компонента TSQLConnection, с помощью которого будет осуществляться соединение с базой данных. Имеет тип TSQLConnection
TagСвойство, которое может использоваться по усмотрению программиста, и у него нет специального назначения. Свойство имеет тип Integer

Компонент TSQLStoredProc - предназначен для работы с процедурами, хранимыми на сервере базы данных. При получении данных ведет себя однонаправленно. Табл. 16.7 дает описание основных свойств этого компонента.

Таблица 16.7. Свойства компонента TSQLStoredProc

СвойствоОписание
ActiveОпределяет, является ли процедура, хранимая на сервере, активной. Имеет тип Boolean
MaxBlobSizeОпределяет максимальный размер BLOB-полей. Имеет тип Integer
ObjectviewВключает или выключает иерархические представления для вложенных полей. Имеет тип Boolean
ParamCheckУказывает, нужно ли обновлять список параметров при изменении процедуры. Имеет тип Boolean
ParamsОпределяет список параметров процедуры. Имеет тип Tparams
SQLConnectionСодержит имя компонента TSQLConnection, с помощью которого будет осуществляться соединение с базой данных. Имеет тип TSQLConnection
TagСвойство, которое может использоваться по усмотрению программиста, и у него нет специального назначения. Свойство имеет тип Integer

Компонент TSQLTabie - задает таблицу баз данных и представляет собой однонаправленный набор данных. В табл. 16.8 перечислены основные свойства компонента.

Таблица 16.8. Свойства компонента

СвойствоОписание
ActiveОпределяет, является ли таблица активной. Только активная таблица может работать с записями. Свойство имеет тип Boolean
IndexFieldNames

Содержит список наименований полей таблицы, по которым будет производиться сортировка набора данных. Имена полей разделяются точкой с запятой. Имеет тип string

 

IndexNameСодержит имя индекса, по которому будет произведена сортировка набора данных. Имеет тип string
MasterSourceСодержит имя главного источника данных при организации связи таблиц главная-подчиненная (master-detail). Имеет тип TdataSource
MasterFieldsСодержит имена полей, по которым осуществляется связь между главной и подчиненной таблицами. Имеет тип string
MaxBlobSizeОпределяет максимальный размер BLOB-полей. Имеет тип Integer
ObjectViewВключает или выключает иерархические представления для вложенных полей. Имеет тип Boolean
SQLConnectionСодержит имя компонента TSQLConnection, с помощью которого будет осуществляться соединение с базой данных. Имеет тип TSQLConnection
TableNameСодержит имя таблицы базы данных, с которой будет производиться работа. Имеет тип string
TagСвойство, которое может использоваться по усмотрению программиста, и у него нет специального назначения. Свойство имеет тип Integer

Компонент TSQLMonitor - предназначен для организации наблюдения за работой компонентов доступа к данным. В табл. 16.9 приведены основные свойства этого компонента.

Таблица 16.9. Свойства компонента TSQLMonitor

СвойствоОписание
ActiveОпределяет, является ли монитор активным. Свойство имеет тип Boolean
AutoSaveОпределяет, будет ли производиться автоматическое сохранение журнала событий в файл, указанный в свойстве FileName данного компонента. Имеет тип Boolean
FileNameОпределяет имя файла, в который будет производиться запись журнала событий. Имеет тип string
SQLConnectionСодержит имя компонента TSQLConnection, с помощью которого будет осуществляться соединение с базой данных. Имеет ТИП TSQLConnection
TagСвойство, которое может использоваться по усмотрению программиста, и у него нет специального назначения. Свойство имеет тип integer
TraceListДанное свойство содержит журнал событий. Имеет тип Tstrings

Компонент TSQLCiientDataSet - представляет собой клиентский набор данных. Описание его основных свойств представлено в табл. 16.10.

Таблица 16.10. Свойства компонента TS QLClientDataSet

СвойствоОписание
ActiveОпределяет, является ли набор данных активным. Свойство имеет тип Boolean
AggregatesСодержит список доступных агрегатов. Имеет тип Taggregates
AggregatesActiveОпределяет, нужно ли производить вычисления агрегатов. Имеет тип Boolean
AutoCalcFieldsОпределяет, нужно ли генерировать событие OnCalcFields и обновлять содержимое полей. Имеет тип Boolean. Принимает значение true при открытии набора данных, при переключении набора данных в состояние DsEdit или при передаче фокуса другому компоненту на форме
ConvmandTextСодержит текст SQL-запроса. Имеет тип string. При установленном значении свойства FileName это свойство игнорируется. Свойство игнорируется также и в случае, когда в свойстве Options сброшен флажок poAllowCommandText
CommandType

Определяет тип набора данных. Значение свойства имеет тип TSQLCommandType. Свойство может принимать следующие значения:
СtQuery - обычный SQL-запрос;
СtTable - таблица целиком, при этом автоматически будет сгенерирован запрос на выборку всех записей таблицы по всем полям;
GtStoredProc - процедура, хранимая на сервере базы данных

ConnectionNameСодержит имя конфигурации. Имеет тип string. Является аналогом свойства AliasName в Delphi
ConstraintsОпределяет накладываемые ограничения на значение на уровне одной записи. Имеет тип Tconstraints
DBConnectionОпределяет имя компонента TSQLConnection, с помощью которого будет производиться работа с базой данных. Имеет ТИП TSQLConnection
DisableStringTrimОпределяет, нужно ли удалять лишние пробелы в конце строки при вставке ее в таблицу базы данных. Имеет тип Boolean
FetchOnDemandОпределяет, должно ли приложение получать данные по мере необходимости. Имеет тип Boolean
FieldDefsСодержит список полей, определяющих набор данных. Имеет тип TfieldDefs
FileNameСодержит имя файла, в котором хранятся кэшируемые данные. Имеет тип string
FilterЗадает фильтр, по которому будут выбираться данные из таблицы. Имеет тип string
FilteredОпределяет, включено или выключено свойство Filter. Имеет тип Boolean
FilterOptionsОпределяет параметры фильтрации записей таблицы. Имеет тип TfilterOptions
IndexDefsСодержит определения индексов. Имеет тип TindexDefs
indexFieldNamesСодержит список наименований полей таблицы, по которым будет производиться сортировка набора данных. Имена полей разделяются точкой с запятой. Имеет тип String
IndexNameСодержит имя индекса, по которому будет произведена сортировка набора данных. Имеет тип string
MasterSourceСодержит имя главного источника данных при организации связи таблиц главная-подчиненная (master-detail). Имеет тип TdataSource
MasterFieldsСодержит имена полей, по которым осуществляется связь между главной и подчиненной таблицей. Имеет тип string
ObjectViewВключает или выключает иерархические представления для вложенных полей. Имеет тип Boolean
OptionsСодержит параметры работы с данными. Имеет тип TproviderOptions
PacketRecordОпределяет количество записей в одном пакете данных. Имеет тип Integer. Возможные значения:
-1 - все записи;
>0 - конкретное число записей;
0 - в пакет будут включаться только мета-данные
ParamsОпределяет список параметров набора данных. Имеет тип Tparams
ReadOnlyОпределяет способ доступа к записям. Имеет тип Boolean. Если значение свойства - true, то данные доступны только для чтения. Если значение - false, то можно изменять существующие данные и записывать новые
TagСвойство, которое может использоваться по усмотрению программиста, и у него нет специального назначения. Свойство имеет тип Integer
UpdateModeОпределяет способ поиска записи, которую необходимо обновить. Имеет тип TupdateMode. Может принимать значения:
UpWhereAll - искать по всем полям;
UpWhereChanged - искать по ключевым и измененным полям;
UpWhereKeyOnly - искать только по ключевым полям

Вкладка Data Controls
Данная вкладка содержит компоненты, предназначенные для отображения записей из наборов данных. Мы не будем рассматривать свойства каждого компонента этой вкладки. Мы лишь отметим два главных свойства этих компонентов:
DataFields - определяет поле, значения которого будут отображаться в данном компоненте;
DataSource - определяет источник данных для этого компонента, т. е.
компонент типа TDataSource.
На этом мы закончим краткий обзор компонентов для работы с базами данных.

 
MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal