Автор: Mike Goblin
Фирма Borland в Kylix и Delphi 6 реализовала новый движок для работы с базой данных dbExpress. Данный движок предназначен для работы с серверными БД. На сегодняшний день поддерживаются MySQL, Oracle, Interbase, DB2. К сожалению, на момент выпуска Kylix он работал не со всеми версиями MySQL. В частности, он не заработал с MySQL 3.23.22-beta. За неимением Oracle и DB2 я пользовался Interbase 6, находившемся на втором диске дистрибутива.
Свойства | Описание |
SQLConnection | |
Компонент для организации связи с сервером базы данных. Аналог Database в BDE. Позволяет управлять параметрами соединения с сервером БД, такие как путь к базе данных, имя и пароль пользователя итд. | |
Connected:boolean | Признак установления соединения с БД. True - соединение активно. |
ConnectionName: string | Имя конфигурации, содержащей параметры соединения. Аналог AliasName в TDatabase для BDE |
DriverName: string | Имя драйвера для соединения. (DB2, Interbase,Oracle, MySQL). Устанавливается автоматически при установке св-ва ConnectionName |
KeepConnection: boolean | Поддерживать соединение с сервером БД, если в приложении нет активизированных датасетов. |
LibraryName: string | Имя библиотеки, содержащей драйвер для связи с сервером БД |
LoadParamsOnConnect: boolean | Загружать ли параметры соединения, ассоциированные с именем соединения, перед установкой соединения в run time. Полезно в случае когда параметры соединения могут быть изменены вне приложения или меняются в design time |
LoginPrompt: Boolean | Запрашивать логин и пароль при соединении |
Name: TComponentName | Имя компонента |
Params: TStrings | Параметры соединения |
TableScope: TTableScopes | Параметры видимости таблиц TsSynonym - видеть синонимы TsSysTable - видеть системные таблицы TsTable - видеть таблицы TsView - видеть просмотры |
VendorLib: string | Имя библиотеки с клиентской частью БД |
SQLDataSet | |
Однонаправленный датасет общего назначения. | |
Active: boolean | Активность датасета |
CommandText: string | Текст команды (запроса) на получение или манипуляции с данными |
CommandType: TSQLCommandType | Тип датасета CtQuery - SQL запрос CtTable - таблица, автоматически генерируется запрос на выборку всех записей по всем полям CtStoredProc - хранимая процедура |
DataSource: TDataSource | Источник данных для мастер датасета |
MaxBlobSize: integer | Максимальный размер BLOB полей |
ObjectView: Boolean | Включить иерархическое представление для вложенных полей |
ParamCheck:Boolean | Обновлять список параметров при изменении текста команды |
Params:Tparams | Список параметров команды |
SortFieldNames: string | Список полей для сортировки датасета, поля разделяются точкой с запятой. Действует для CommandType ctTable |
SQLConnection: TSQLConnection | Имя компонента SQLConnection через который будет происходить работа с БД |
Tag: integer | Тэг |
SQLQuery | |
Запрос к БД (однонаправленный) | |
Active: boolean | Активность запроса |
DataSource: TDataSource | Источник данных для мастер датасета |
MaxBlobSize: integer | Максимальный размер BLOB полей |
ObjectView: Boolean | Включить иерархическое представление для вложенных полей |
ParamCheck:Boolean | Обновлять список параметров при изменении текста запроса |
Params:Tparams | Список параметров запроса |
SQL:TStrings | Текст запроса |
SQLConnection: TSQLConnection | Имя компонента SQLConnection через который будет происходить работа с БД |
Tag: integer | Тэг |
SQLStoredProc | |
Хранимая процедура (в случае получения данных однонаправленная) | |
Active: boolean | Активность хранимой процедуры |
MaxBlobSize: integer | Максимальный размер BLOB полей |
ObjectView: Boolean | Включить иерархическое представление для вложенных полей |
ParamCheck:Boolean | Обновлять список параметров при изменении процедуры |
Params:Tparams | Список параметров процедуры |
SQLConnection: TSQLConnection | Имя компонента SQLConnection через который будет происходить работа с БД |
Tag: integer | Тэг |
SQLTable | |
Таблица базы данных (однонаправленный датасет) | |
Active: boolean | Активность таблицы |
IndexFieldNames: string | Список полей сортировки (через точку с запятой) |
IndexName: string | Имя индекса сортировки. Возможно использование либо IndexName или IndexFieldNames |
MasterSource: TdataSource | Мастер источник данных для организации отношений главный-подчиненный (master-detail) |
MasterFields:string | Поля связи главный-подчиненный |
MaxBlobSize: integer | Максимальный размер BLOB полей |
ObjectView: Boolean | Включить иерархическое представление для вложенных полей |
SQLConnection: TSQLConnection | Имя компонента SQLConnection через который будет происходить работа с БД |
TableName: string | Имя таблицы БД из которой будут выбраны данные |
Tag: integer | Тэг |
SQLMonitor | |
Организация наблюдения за работой компонентов доступа к данным | |
Active: boolean | Активность монитора |
AutoSave: Boolean | Автоматическое сохранения журнала событий в файл, указанный в FileName |
FileName: string | Имя файла для хранения журнала событий |
SQLConnection: TSQLConnection | Имя компонента SQLConnection через который будет происходить работа с БД |
Tag: integer | Тэг |
TraceList:Tstrings | Журнал событий |
SQLClientDataSet | |
Клиентский датасет общего назначения | |
Active: boolean | Активность датасета |
Aggregates: Taggregates | Список доступных агрегатов |
AggregatesActive: boolean | Вычисление агрегатов |
AutoCalcFields: boolean | Генерировать событие OnCalcFields и обновлять Lookup поля True - · при открытии датасета · при переходе датасета в состояни dsEdit · Передача фокуса ввода другому компоненту или другому столбцу (для сетки) при наличии изменений в текущей ячейке False · при открытии датасета · при переходе датасета в состояни dsEdit · Запись извлекается из БД |
CommandText: string | Текст команды для выполнения (SQL запрос). При установке св-ва FileName данное св-во игнорируется При сбросе флага poAllowCommandText в св-ве Options также текст команды игнорируется |
CommandType: TSQLCommandType | Тип датасета CtQuery - SQL запрос CtTable - таблица, автоматически генерируется запрос на выборку всех записей по всем полям CtStoredProc - хранимая процедура |
ConnectionName: string | Имя конфигурации, содержащей параметры соединения. Аналог AliasName в TDatabase для BDE |
Constraints: TConstraints | Ограничения на значения на уровне одной записи |
DBConnection: TSQLConnection | Имя компонента SQLConnection через который будет происходить работа с БД |
DisableStringTrim: boolean | Удалять конечные пробелы в строковых полях при их вставке БД |
FetchOnDemand: boolean | Получать данные по мере необходимости |
FieldDefs: TFieldDefs | Определения полей |
FileName: string | Имя файла для сохранения кеша данных |
Filter: string | Фильтр |
Filtered: Boolean | Включение фильтрации |
FilterOptions: TFilterOptions | Параметры фильтрации |
IndexDefs: TindexDefs | Определения индексов |
IndexFieldNames: string | Список полей сортировки (через точку с запятой) |
IndexName: string | Имя индекса сортировки. Возможно использование либо IndexName либо IndexFieldNames |
MasterSource: TdataSource | Мастер источник данных для организации отношений главный-подчиненный (master-detail) |
MasterFields:string | Поля связи главный-подчиненный |
ObjectView: Boolean | Включить иерархическое представление для вложенных полей |
Options: TProviderOptions | Параметры работы с данными |
PacketRecord: integer | Количество записей в одном пакете данных -1 - все >0 - количество 0 - включать в пакет только метаданные |
Params: Tparams | Значение параметров для выборки данных |
ReadOnly: Boolean | Доступ только для чтения |
Tag: integer | Тэг |
UpdateMode: TUpdateMode | Способ поиска записи при записи изменений UpWhereAll - использовать все поля UpWhereChanged - ключевые поля+старые значения измененных полей UpWhereKeyOnly - только ключевые поля |
Попробуем написать простейшее приложение для просмотра данных из базы в /usr/ibdb (будем считать что папка уже создана). Для этого выполним следующие шаги:
1. Создадим базу данных в Interbase 6. У меня он проинсталировался в /opt/interbase .
1.1 Запустим сервер /opt/interbase/bin/ibguard &
1.2 Войдем в оболочку isql - /opt/interbase/bin/isql
1.3 Введем SQL запросы на создание БД и таблицы users:
create database '/usr/ibdb/test.gdb'; create table users( ID integer not null primary key, NAME varchar(20)); commit; quit;Если все выполнено правильно - то в папке /usr/ibdb появится файл test.gdb.
Внимание! Запрещается перепечатка данной
статьи или ее части без согласования с автором. Если вы хотите разместить эту
статью на своем сайте или издать в печатном виде, свяжитесь с автором.
Автор статьи: Mike Goblin