- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
Компоненты приложений для баз данных
Как и другие элементы управления С++ Builder, связанные с БД компо ненты делятся на визуальные и невизуальные. Невизуальные компоненты предназначены для организации доступа к данным, содержащимся в таблицах. Они представляют собой промежуточное звено между данными таблиц БД и визуальными компонентами.
Визуальные компоненты используются для создания интерфейсной части приложения. С их помощью пользователь может выполнять такие операции с таблицами БД, как просмотр или редактирование данных. Визуальные компоненты также называют элементами, чувствиггельньыи кданньш.
Компоненты, используемые для работы с БД, находятся на страницах Data Access, Data Controls, obExpress, OataSnap, BDE, ADO, InterBase, Decision Cube, QReport и InterBase; Admin Палитры компонентов. Некоторые компоненты предназначены специально для работы с удаленными БД в архитектуре «клиент-сервер». Рассмотрим важнейшие компоненты, расположенные на наиболее часто используемых страницах при раооте с базами данных.
На о ранице Data Access (рис. 11.14) находятся невизуальные компоненты, предназначенные для организации доступа к танным, например:
DataSource (источник данных);
ClientDataSet (клиентский набор данных);
DataSet Provider (провайдер набора данных);
ХМ L Transform (преобразователь документа XML в пакет данных и об- ратно ).
bvstem Data Access | Data Controls | db
Г7" I о W=L &Ш «1 ?XML AIM
Рис. 11.14. Страница Data Access
На странице Data Controls (рис. 11.15) расположены визуальные компоненты, предназначенные для управления данными:
DBGrid (сетка, или габ. шца);
DB Navigator (навигационный интерфейс);
DBText (надпись);
DBEdit (однострочный редактор, или поле редактирования);
DBMemo (многострочный редактор, или пашль редактирования);
DBImage (графическое изображение);
DBLiStBox (список);
DBComboBox (комбинированный список;;
DBCheckBox (ф. гажок);
DBRadioGroup (группа переключателей);
DBLookupListBox (список, формируемый по полю другого набора данных);
DBLookupComboBox (комбинированный список, формируемый по полю другого набора данных);
DBRichEdit (полнофункпионал! ный тестовый редактор, или поле редактирования);
DBCtrlGrid (модифицированная сетка);
DBChart (диаграмма).
SvstemJ
Data Access Data Controls | HhFxDress J DataSn*» | BDE | ADO |
InterBase!
Рис.
11.15. Страница Data
Controls
Страница BDE (рис. 11.16) содержит компоненты, предназначенные для управления данными с использованием BDE:
Table (набор данных, основанный на таблице БД);
Query (набор данных, основанный на SQL-запросе);
StoredProc (вызов хранимой процедуры сервера);
DataBase (соединение с БД);
Session (текущий сеанс работы с БД);
BatchMove (выполнение операций над группой записей);
UpdateSQL (изменение набора данньп:, основанного на SQL-запросе или хранимой процедуре);
NestedTable (вложенная таблица)
BDECIientDatc»set (клиентский набор данных)
DataSnap
BDE |
Interb^
■
| Webbervice^
1
Int IT
Щ.Р
Рис.
11.16. Страница BDE
На странице ADO (рис. 11.17) расположены компоненты, предназначенные для управления данными с использованием технологии ADO (Active Data Objects):
ADOConnection (соединение);
ADOCommand (команда);
ADODataSet (набор данных);
ADOTable (набор данных Table);
ADOQuery (набор данных Query);
ADOStoredProc (вызов хранимой процедуры сервера);
RDSConnection (соединение RDS).
DataSnao| BDE ADO | InterBase | WebSa
fF
Рис. 11.17. Страница ADO
Замечание
Соединение RDS служит для управления передачей объекта Recordset от одного процесса (компьютера) к другому при создании серверных приложений.
На странице QReport (рис. 11.18) находятся компоненты, предназначенные для построения отчетов:
QuickRep (отчет);
QRSubDetail (полоса отчета для таблиц, связанных отношением «главный-подчиненный»);
QRStringsBand (строковая полоса отчета);
QRBand (полоса отчета);
QRChildBand (дочерняя полоса отчета);
QRGroup (группа);
QRLabel (надпись);
QRDBText (текстовое поле набора данных);
QRExpr (выражение);
QRSysData (системная информация);
QRMemo (многострочный текст);
QRExprMemo (многострочное выражение);
QRRichText (форматированный текст);
QRDBRichText (форматированный текст поля набора данных);
QRShape (геометрическая фигура);
QRImage (графический образ);
QRDBImage (графический образ поля набора данных):
QRCompositeReport (составной отчет);
QRPreview (окно просмотра отчета);
QRTextHlter (текстовый фильтр);
QRCSVFilter (CSV -фильтр);
QRHTMLFilter (HTML-фильтр);
QRChart (диаграмма).
fwe.I IntemrtB mess] Irterr slj WehSivo| Fa.!Net| Deu"iionQi>r QRepoi Dk'oosI Win311 рлтые! ] кцvej; I со Uj
'Iflal Ъ Sj4 ЪЪЪЧЪ
Рис. 11.18. Страница QRepori.
Имена многих компонентов, предназначенных для работы с данными, содержат префиксы, например, DB, IB или QR. Префикс DB означает, что визу- а 1ьный компонент связан с данными и используется для пос троения интерфейсной части приложения. Такие компоненты размещаются в форме и предназначены для управления данными со стороны пользователя. Префикс QR означает, что компонент используется для построения отчетов QReport.
Исключения при работе с базами данных
В дополнение к рассмотренным ранее исключениям, специально для операций, связанных г работой приложений для БД, система С++ Builder предоставляет следующие дополнительные классы исключений:
EDatabaseError - ошибка БД; потомки этого класса:
EDBEnnirieErior — ошибка ВПЕ (для локальных БД и сетевых БД архитектуры «файл-сервер»);
EDBCIient — ошибка в приложении клиента (для сетевых БД архитектуры «клиент-сервер»); код ошибки возвращается BDE. АПО, dbExpress или другим механизмом доступа к данным;
EUpd^teError — ошибка, возникающая при обновлении записей;
EDBEdifEt ror — введенное в поле значение не соответствует типу поля. К пасс EDatabr.sf: Err с предна игачен д ля обработки ошибок, возникающих при
выполнении оп"п,щин с набором данных (класс TDataSet и его потомки, в пер вую очередь, TTaoie и TQuery). Этот класс производится непосредственно от класса ExceDtion. Исключение класса EDatabasjError генерируется, например, при попы псе открыть набор данных, связанный с отсутствуй идей таблицей, или изменить запись набора данных, который находится в режиме просмотра.
Класс EDBEngineErroi предназначен для обоаботки ошиоок, возникающих при работе с процессором баз данных BDE на локальном компьютере. Класс TDBError сод( ржит информацию об исключении EDBEngineError, определяемую следующими свойствами:
Message типа Striny (текст сообщения, характеризующего возникшую ошибку);
ErrorCode гипа DBIResult (код ошибки), тип DBIResult соответствует типу Word;
Category типа Byte (категория исключения);
SubCode типа Byte (группа, или подкод, исключения);
NativeError типа Longint (код ошибки, возвращаемой сервером) - - если значение этого свойств? равно нулю, то исключение произошло не на сервере.
Класс EDBCIient отличается от класса EDBEngineError в основном тем, что предназначен для обработки ошибок, возникающих при работе с различными механизмами доступа к данным (не то лько с процессором баз данных BDE) в операция < с сетевыми базами архитектуры «клиент-серзер».
Генерируемые при работе с БД исключения обраба гывают глобальные и локальные обработчики. Кроме того, используемые для доступа к данным компоненты имеюл специальные события для об рабой ки исключений.
Например, для набора данных Table такими событиями являются:
OnEditFrror (ошибка редактирования или вставки записи);
OnPostError и OnUpdateE rror (ошибка закреп ления изменений в записи);
OnDeleteError (ошибка удаления записи).
Класс EDBEditError используется в случаях, когда вводимые в поле данные несовместимы с маской ьвода, заданной с помощью свойства Efl'tMask этого поля. Отметим, Что для проверки вводимых в поле значений можно также использовать собьп ия OnSetText, OnValidate и OnChange.