Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инструменты визуальной разработки приложений 4.doc
Скачиваний:
2
Добавлен:
08.07.2019
Размер:
174.59 Кб
Скачать

4.6.4.5 TDatabase

Эта компонента не участвует в организации доступа на уровне наборов данных, хотя предоставляет возможность соединения клиент/сервер с одиночной базой данных в одной сессии. Компонента TDatabase используется для выдачи специфических команд управления базой данных или создания временного локального псевдонима некоторой удаленной базы данных, но особенно целесообразна для организации управления обработкой транзакций на удаленном SQL сервере.

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

4.6.4.6 TSession

Предоставляет вашему приложению средства глобального обслуживания групповых соединений с несколькими базами данных. C++Builder автоматически создает глобально доступную компоненту стандартной сессии (с именем Session, по умолчанию) для всех приложений, использующих компоненты управления данными.

Компонента TSession организует стандартные сессии, множественные сетевые сессии с файлами базы данных Paradox и сессии приложений с повторными вхождениями.

Сетевое приложение, которое одновременно обращается к таблицам базы данных Paradox в различных узлах сети, устанавливает множественные сессии -по одной для каждого узла. Приложение, которое использует множественные конкурентные соединения с одиночной базой данных (например, одновременно выдает несколько запросов к одним и тем же данным), устанавливает сессию с повторными вхождениями.

Вы можете управлять поведением сессии во время работы приложения, обращаясь к ее свойствам, событиям и методам.

4.6.4.7 TBatchMove

Разрешает вашему приложению выполнять пакетные операции над группами записей или целыми таблицами. Эта компонента обычно используется в приложениях, ориентированных на администратора базы данных, чтобы предоставить ему возможности пересылки больших объемов данных, вплоть до всего содержимого базы данных. К пакетным операциям относятся:

• добавление группы записей в некотором наборе данных к таблице назначения базы данных:

• вычеркивание группы записей в некотором наборе данных из таблицы назначения базы данных;

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

Выпадающие списки свойств Source и Destination позволяют выбрать имя таблицы источника и таблицы назначения, соответственно. Установите нужную пакетную операцию (batAppend, batUpdate, batAppendUpdate, batCopy или batDelete) в свойстве Mode и обратитесь к методу Execute, чтобы выполнить ее. Свойство ProblemTableName инструктирует BDE, в какую таблицу заносить те записи источника, обращение с которыми вызвало проблемы в ходе пакетной операции.

Реализовать пакетные операции, хотя и с некоторыми ограничениями, можно также при помощи компоненты TTable.

4.6.4.8 TUpdateSql

Позволяет использовать механизм котируемых обновлений (cached updates) в стиле Delphi для обслуживания результирующих наборов с атрибутом "только чтение", возвращаемых некоторыми запросами. Кэшируемые обновления заметно ускоряют отклик SQL сервера за счет уменьшения общего числа сетевых обменов с клиентом. Будучи упакованными, множественные коммуникации проявляют себя как одиночные транзакции, тем самым снижая загруженность сервера и улучшая производительность вашего приложения.

Установка свойства UpdateObject обеспечивает связь данной компоненты с набором данных.

Свойство ModifySQL представляет собой SQL команду UPDATE, которая выполняется, когда кэшируемое обновление является модификацией существующей записи. Свойство InsertSQL представляет собой команду INSERT, которая выполняется, когда кэшируемое обновление содержит вставку новой записи. Свойство DeleteSQL представляет собой команду DELETE, которая выполняется, когда кэшируемое обновление состоит в вычеркивании некоторой записи. Перечисленные свойства обеспечивают нормальную передачу параметров для кэ-шируемых обновлений. Используйте префикс "OLD_" с именем поля, чтобы получить его значение перед тем, как кэшируемое обновление было разрешено. Доступ к старому значению поля обычно требуется при создании конструкции WHERE перечисленных команд SQL.

Метод Apply используется для принудительного исполнения команд SQL, например, из обработчика события OnUpdateRecord. Этот метод сочетает обращение к SetParams (установка связки параметров) и к ExecSQL (фактическое выполнение команды SQL).

4.6.5 Компоненты управления данными

Видимые компоненты вкладки Data Controls палитры компонент обеспечивают взаимодействие пользователя с источниками данных вашего приложения.

Компоненты осуществляют включение в вашу программу 12 элементов управления визуализацией и редактированием записей или столбцов, хранимых в таблицах и запросах реляционной базы данных.

4.6.5.1 TDBGrid

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

Вы должны связать TDBGrid с набором данных посредством компоненты источника TDataSource, который идентифицируется значением свойства DataSource. Свойство Columns содержит редактируемый список названий заго-ловков столбцов в сетке. Окно редактора столбцов (Рис. 4.18) открывается кнопкой в графе значений этого свойства или опцией Columns Editor из контекстного меню компоненты.

Рис. 4.18. Редактор столбцов компоненты сетки.

Значение свойства Options позволяет изменить вид сетки (например, с разделительными линиями между столбцами) и ее поведение (например, с переходом от столбца к столбцу по клавише Tab). Значение свойства TitleFont определяет шрифт, используемый при написании заголовков столбцов сетки. Свойство Fields содержит массив всех полей набора данных, изображаемых в сетке во время работы программы, свойство FieldCount - их число, а свойство SelectedField - поле, выбранное в данный момент.

Значение true свойства ReadOnly запрещает, а значение false разрешает редактирование данных при условии, что набор данных находится в режиме редактирования. Прервать редактирование можно нажатием клавиши Esc или аналогичной кнопки на панели навигатора. Фактическое изменение данных в полях происходит только после того, как выбрана новая запись, или при выходе из программы.