Полезные компоненты для пользователей Delphi и С++Builder


         

Страница RX DBAware


Эта страница содержит компоненты доступа к данным и отображения данных, расширяющие возможности, предоставляемые обычными компонентами Data Access и Data Controls.

Из невизуальных компонентов следует отметить компонент TRxQuery , авляющийся наследником TQuery и обладающий дополнительным свойством Macros, позволяющим во время выполнения изменять текст запроса, например, заменив предложение WHERE или ORDER BY, что практически невозможно сделать, используя стандартные параметризованные запросы, генерируемые компонентом TQuery (рис. 10).

Рис.10. Пример использования компонента TRxQuery: на этапе выполнения можно изменить порядок сортировки и условия отбора записей

Компонент TSQLScript предназначен для выполнения наборов из нескольких SQL-предложений. Если база данных, в которой эти предложения выполняются, позволяет использовать транзакции, этот компонент позволяет определить, за одну или за несколько транзакций эти предложения выполняются.

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

Компонент TQBEQuery позволяет работать с запросами формата QBE, используемого в Database Desktop и Corel Paradox.

Компонент TRxDBFilter реализует возможность наложения фильтров на курсор (набор данных, передаваемый на рабочую станцию), без применения дополнительных запросов. Преимущество фильтров в их быстродействии и отсутствии доплнительных обращений к серверу баз данных, что может оказаться необходимым в тех случаях, когда требуется многократно динамически изменять условия отбора записей. Фильтр может накладываться на любой набор данных, как TTable, так и TQuery или TQBEQuery, при этом наличие индексов для полей, на которые накладываются условия, не требуется (рис. 11).

Рис.11. Пример использования компонента TRxDBFilter: на этапе выполнения можно изменить условия фильтрации записей.

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

Еще три компонента позволяют осуществить доступ к объектам доступных баз данных. Компонент TBDEItems предоставляет доступ к спискам всех доступных баз данных (включая псевдонимы), драйверов баз данных или языковых драйверов (в зависимости от значения свойства ItemType), доступ к которому осуществляется как к обычной таблице. Компонент TDatabaseItems предоставляет доступ к спискам объектов (таблиц, файлов или хранимых процедур) базы данных в виде набора данных, доступ к которому осуществляется как к обычной таблице. Компонента TTableItems предоставляет доступ к списку элементов (полей, индексов, правил ссылочной целостности и т.д.) в виде набора данных, доступ к которому осуществляется как к обычной таблице.

Компонент TDBProgress иcпользует Callback-функции IDAPI для сообщения о ходе выполнения длительных операций с базами данных.

Из визуальных компонентов следует отметить компонент TRxDBGrid - наследник TDBGrid, позволяющий отображать BLOB-поля базы данных в виде пиктограмм, изменить цвет шрифта и фона любой ячейки таблицы (либо любой ее строки или столбца) в зависимости от значения поля или имени поля набора данных, сохранять и восстанавливать порядок и ширину столбцов в INI-файле или в реестре, а также выбирать несколько записей. Заголовки колонок этого компонента могут быть с помощью использованы как кнопки, например, для изменения порядка сортировки отображаемых данных. Можно также зафиксировать в компоненте TRxDBGrid несколько первых колонок (рис. 12).

Рис.12. Пример использования компонента TRxDBGrid

Компонент TDBStatusLabel, изображенный на этом же рисунке, позволяет отобразить состояние набора данных, а также число записей и номер текущей записи.

Еще один полезный визуальный компонент - TDBIndexCombo, выводящий комбинированный список индексов таблицы, позволяя пользователю менять порядок сортировки записей в наборе данных, полученном на основе таблицы.

Компонент TRxDBLookupCombo почти полностью аналогичен компоненту TDBLookupCombo, но позволяет использовать в качестве свойства LookupSource любой источник данных - как TTable, так и TQuery, при этом свойство LookupField не обязательно должно быть индексированным полем. Он также позволяет производить поиск нужной записи при наборе первых нескольких символов. Этот компонент также позволяет задать изображения для рисования в левой части каждой строки списка, в зависимости от содержимого полей базы данных (рис. 13).

Рис.13. Пример использования компонентов TDBIndexCombo и TRxDBLookupCombo

Помимо рассмотренных визуальных компонентов для отображения данных, библиотека содержит также разнообразные поля редактирования, в некоторых случаях аналогичные компонентам со страницы RX Controls (TRxDBCalcEdit, TDBDateEdit и др.)



Содержание раздела