к 4GL - визуальному программированию   Kylix   RUNTU   ОС  

Компоненты для работы с базами данных Kylix

Вкладка Data Access
Вкладка dbExpress
Вкладка Data Controls

В этой главе мы рассмотрим основные компоненты, предназначенные для работы с базами данных. Компоненты расположены на вкладках 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.
На этом мы закончим краткий обзор компонентов для работы с базами данных.

к 4GL - визуальному программированию   Kylix   RUNTU   ОС  

Знаете ли Вы, что такое мысленный эксперимент, gedanken experiment?
Это несуществующая практика, потусторонний опыт, воображение того, чего нет на самом деле. Мысленные эксперименты подобны снам наяву. Они рождают чудовищ. В отличие от физического эксперимента, который является опытной проверкой гипотез, "мысленный эксперимент" фокуснически подменяет экспериментальную проверку желаемыми, не проверенными на практике выводами, манипулируя логикообразными построениями, реально нарушающими саму логику путем использования недоказанных посылок в качестве доказанных, то есть путем подмены. Таким образом, основной задачей заявителей "мысленных экспериментов" является обман слушателя или читателя путем замены настоящего физического эксперимента его "куклой" - фиктивными рассуждениями под честное слово без самой физической проверки.
Заполнение физики воображаемыми, "мысленными экспериментами" привело к возникновению абсурдной сюрреалистической, спутанно-запутанной картины мира. Настоящий исследователь должен отличать такие "фантики" от настоящих ценностей.

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

Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").

Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.

Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.

Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution