
- •Bde та ado
- •Введение
- •Введение в базы данных
- •Типы субд
- •Стандарт odbc
- •Технологии взаимодействия delphi с бд
- •Особенности технологии bde
- •Особенности технологии ado
- •Таблицы бд и связи между ними
- •Первичные ключи и индексы
- •Демонстрационная бд "поставщик книг"
- •Использование odbc для подключения источника данных. Внешний псевдоним бд
- •Создание внешнего псевдонима бд
- •Создание проекта с бд в технологии bde
- •Особенности использованияbdeдля соединения с источником данных
- •Структура проекта с бд и визуальными компонентами
- •Активизация проекта
- •Главная форма проекта
- •Модуль данных
- •Создание модуля данныхTDataModule
- •Создание компонента tDatabase
- •Создание компонента tTable
- •Создание компонентаTDataSource
- •Связь модуля главного окна с модулем данных
- •Связь сеткиTdbGrid и навигатораDbNavigatorcисточником данныхTDataSource
- •Связь главный-детальный между наборами данных
- •Задание реляционной связи между наборами данных
- •Активизация наборов данных
- •Недостатки полученных решений и пути их устранения
- •Объекты-столбцы сетки dbGrid
- •Объекты-поля наборов данных
- •Создание объектов-полей
- •Присоединение к наборам данных новых полей
- •Присоединение полей из других таблиц. Подстановочные поля
- •Вычисляемые поля
- •Обработчики событий компонент работы с бд
- •Обработчики событий OnGetText полей нд и компонента визуализации данныхTdbGrid
- •Установка системных переменных в обработчике событяOnCreate
- •Бизнес-правила иобработчики событий компонент работы с бд
- •Implementation
- •Sql запросы к бд
- •КомпонентtQuery
- •СозданиекомпонентаtQuery
- •ИспользованиякомпонентаtQuery
- •Свойство sql
- •Методы Open и ExecSql
- •Параметрические запросы
- •Параметрические запросы и свойство DataSource компонента tQuery
- •Связь главный-детальный с компонентомTQuery в качестве детального набора данных
- •Доступ к полям запроса
- •Обращение к значению поля при помощи свойств объектов-полейValueиAsXxxx
- •Обращение к значению поля при помощи свойств набора данных Fields и FieldValues
- •Обращение к значению поля при помощи функции набора данных FieldByName
- •Программный доступ к данным запроса
- •Общая схема программного доступа к данным запроса
- •Последовательная навигация по записям
- •Обзор событий компонентаtQuery
- •Хранимые процедуры и триггеры
- •Хранимые процедуры
- •Создание хранимых процедур
- •Вызов хранимых процедур
- •Триггеры
- •Наборы данных
- •Обзор событий класса tdbDataSet
- •Реализация каскадных изменений и бизнес-правил
- •Другие события
- •Технология ado
- •Основные особенности технологии ado
- •Реализация технологии ado в Delphi
- •Создание проекта с бд в технологии ado. Установка связи с бд
- •Создание модуля данных
- •Начало настройки связи
- •Выбор провайдера
- •Настройка провайдера
- •Настройка провайдераMicrosoftJet4.0oledbProvider
- •Настройка провайдера Microsoft ole db Provider for odbc Drivers
- •Завершение настройки связи
- •Настройка оставшихся компонент модуля данных
- •Особенности использования компонентов ado
- •Базовые объекты ado
- •ОбъектRecordset
- •ОбъектCommand
- •ОбъектParameter
- •Компонент tadoCommand
- •Свойства, методы и события ado компонентов-наборов
- •Общие свойства с bde-компонентами
- •Специфические свойства
- •Методы класса tCustomAdoDataSet
- •События класса tCustomAdoDataSet
- •Компонент tadoDataSet
- •Компонент tadoTable
- •Компонент tadoQuery
- •Компоненты визуализации данных вDelphi
- •Компонент tdbGrid
- •Свойства
- •Дополнительные возможности сетки
- •Компоненты визуализации полей текущей записи
- •Компонент tdbText
- •Компонент tdbEdit
- •Компонент tdbCheckBox
- •Компонент tdbRadioGroup
- •Списочные компоненты
- •Компонент tdbMemo
- •Компонент tdbRichEdit
- •Компонент tdbCtrlGrid
- •Компонент tdbNavigator
- •Приложение 2. Бд "поставщик книг"
- •Рекомендованная литература
Использование odbc для подключения источника данных. Внешний псевдоним бд
Этот шаг необходим для подключения разнородных локальных и клиент-серверных БД к BDE и, следовательно, к приложению Delphi.
Драйвер ODBC скрывает от BDE внутреннюю организацию конкретной БД и позволяет BDE рассматривать такую БД как набор отдельных таблиц, каждая из которых хранится в отдельном файле.
Результатом применения ODBC можно рассматривать создание внешнего псевдонима БД, который скрывает тип конкретной БД и путь к ней.
С помощью внешнего псевдонима БД программа может получить доступ к БД определенного типа, например MySQL, но этот внешний псевдоним будет явно присутсвовать в тексте порограммы. Если потребуется перейти к другой БД со своим внешним псевдонимом, например PosgreSQL, то потребуется внесение изменений в код программы.
Во ибежание зависимости кода программы от конкретного внешнего псевдонима можно выполнить следующий шаг – создание в BDE внутреннего псевдонима БД, что позволяет подключать к программному приложению БД всех типов, не внося изменения в текст программы, а выполняя лишь перенастройку внутреннего псевдонима.
Создание внешнего псевдонима бд
Этот шаг необходим для предоставления программному приложению единого интерфейса к БД, независимо от ее ипа и пути к ней.
Роль внешних псевдонимов состоит в предоставлении программному приложению единого интерфейса к БД, независимо от ее ипа и пути к ней. Ее роль особенно велика в клиент-серверных БД, в которых он содержит многочисленные дополнительные свойства, управляющие доступом к серверу.
Для создания следует запустить ODBC. Это можно сделать 2-мя способами – с рабочего стола или находясь в среде Delphi:
запуск ODBC с рабочего стола выполняется следующим образом:
Пуск> Настройка> Панель управления> Администрирование> Источники данных (ODBC)
В результате появится форма Администратор источников данных ODBC (рисунок 2.2).
запуск ODBC в среде Delphi выполняется через команду главного меню:
Database> SQL Explore (или Explorer)
В результате открывается форма SQL Explorer (рисунок 2.1):
Рисунок 2.2 –SQL Explorer
Теперь на вкладке Databases щелкните правой кнопкой мыши и выберите пункт ODBC Administrator. В результате появится форма Администратор источников данных ODBC (рисунок 2.2).
Теперь необходимо создатьDNS.Совет: Для индивидуального компьютера можно выбрать панельПользовательскийDNSилиСистемныйDNS, а для компьютера в сети организации необходимо выбратьСистемныйDNS, т.к. он доступен всем пользователям данного компьютера и других компьютеров сети.Независимо от выбранной панели дальнейшие действия аналогичны.
Используем вкладку Системный DNS.
а)
б)
Рисунок 2.3 –Администратор источников данных ODBC
На вкладке Системный DNS нажмите кнопку Добавить и выберите драйвер PostgreSQL ANSI и нажмите Готово.
Рисунок 2.4 –Выбор драйвера ODBC
На экране появится форма Установка драйвера ODBC для PostgreSQL. В поле DataSource (Имя источника данных) этой формы укажите удобное для вас имя – внешний (на уровне ОС), псевдоним (алиас) БД. Этот псевдоним скрывает путь к реальной БД, что позволяет изменять путь к конкретной БД, не изменяя других настроек конкретных приложений.
Пусть таким псевдонимом будет имя – BiblDataPgSQL, которое содержит содержательное имя БД BiblData и сокращенное имя СУБД PostgreSQL. Остальные поля надлежит заполнить следующим образом
Рисунок 2.5 –Настройка драйвера PostgreSQL
После чего нажмите Save. В результате будет получен новыйСистемныйDSNс именемBiblDataPgSQL.
Рисунок 2.6 –Администратор источников данных ODBC
Таким образом, будет получен псевдоним БД – BiblDataPgSQL.
Теперь приложение для работы с БД может быть сразу настроено на конкретный псевдоним и от программиста не требуется знаний о настройках доступа к конкретной СУБД.
Примечание. Если приложение в процессе своего использования должно подключать БД разного типа и/или месторасположения, то целесообразно создать внутренний псевдоним БД, на который может быть настроено приложение. Тогда перенастраивая внутренний псевдоним на реализованные в ODBC внешние псевдонимы, можно обеспечить независимость приложения от конкретной СУБД.
Для того, чтобы убедиться в работоспособности внешнего псевдонима в среде Delphi выберите пунк меню Database и запустите утилиту Explorer (SQL Explorer). Получите окно:
Рисунок 2.7 –SQL Explorer
Если теперь на вкладке Databases щелкнуть на значке свернутого узла слева от имени псевдонима BiblDataPgSQL, то будет затребовано разрешение на вход в БД
Нажмите ОК, а затем - на значке свернутого узла Tables, вы увидите все таблицы БД "Поставщик книг".
Рисунок 2.8 –Таблицы БД "Поставщик книг"
Щелкнув на любой из них и открыв вкладку Data, вы сможете увидеть содержимое выбранной таблицы.
Рисунок 2.9 –Отображение содержимого таблицы в окне SQL Explorer
Таким образом, Delphiимеет доступ кБД BiblData. Теперь можно перейти к созданию приложения для работы сБД BiblData.