- •Технології проектування баз даних в delphi
- •6.051001 - Метрологія та інформаційно-вимірювальні технології
- •Технології проектування баз даних в delphi
- •6.051001 - Метрологія та інформаційно-вимірювальні технології
- •1Введение
- •2Введение в базы данных
- •2.1Типы субд
- •2.2Стандарт odbc
- •2.3Технологии взаимодействия delphi с бд
- •2.3.1Особенности технологии bde
- •2.3.2Особенности технологии ado
- •2.4Таблицы бд и связи между ними
- •2.5Первичные ключи и индексы
- •2.6Демонстрационная бд "поставщик книг"
- •3Использование odbc для подключения источника данных. Псевдонимы бд
- •3.1Внешний и внутренний псевдонимы бд
- •3.1.1Создание внешнего псевдонима
- •3.1.2Проверка работоспособности внешнего псевдонима в среде Delphi
- •3.2Внутренний псевдоним бд
- •3.2.1Назначение внутреннего псевдонима бд
- •3.2.2Создание внутреннего псевдонима
- •3.2.3Преимущества использования внутреннего псевдонима и проблемы перехода на другие субд
- •4Создание проекта с бд в технологии bde
- •4.1Особенности использования bde для соединения с источником данных
- •4.2Структура проекта с бд и визуальными компонентами
- •4.3Активизация проекта
- •4.4.4Компоненты tdbGrid
- •4.5Модуль данных
- •4.5.1Создание модуля данных tDataModule
- •4.5.2Связь модуля главного окна с модулем данных
- •4.5.3Создание компонента tDatabase
- •4.5.4Создание компонента tTable
- •4.5.5Создание компонента tDataSource
- •4.5.6Связь модуля главного окна с модулем данных
- •4.5.7Связь сетки tdbGrid и навигатора dbNavigator c источником данных tDataSource
- •4.5.8Связь главный-детальный между наборами данных
- •4.5.9Задание реляционной связи между наборами данных
- •4.5.10Активизация наборов данных
- •4.5.11Недостатки полученных решений и пути их устранения
- •4.6Объекты-столбцы сетки dbGrid
- •4.6.1Создание объектов-столбцов
- •4.6.2Редактирование объекта-столбца
- •4.7Объекты-поля наборов данных
- •4.7.1Назначение объектов-полей
- •4.7.2Создание объектов-полей
- •4.7.3Присоединение к наборам данных новых полей
- •4.7.4Присоединение полей из других таблиц. Подстановочные поля
- •4.7.5Вычисляемые поля
- •4.8Обработчики событий компонент работы с бд
- •4.8.1Обработчики событий OnGetText полей нд и компонента визуализации данных tdbGrid
- •4.8.2Установка системных переменных в обработчике событя OnCreate
- •4.9Бизнес-правила и обработчики событий компонент работы с бд
- •5Sql запросы к бд
- •5.1Компонент tQuery
- •5.2Создание компонента tQuery
- •5.3Использования компонента tQuery
- •5.3.1Свойство sql компонента tQuery
- •5.3.2Методы Open и ExecSql
- •5.3.3Схема программного формирования sql-запроса
- •5.3.4Параметрические запросы
- •5.3.5Параметрические запросы и свойство DataSource компонента tQuery
- •5.3.6Связь главный-детальный с компонентом tQuery в качестве детального набора данных
- •5.4Доступ к полям запроса
- •5.4.1Обращение к значению поля при помощи свойств объектов-полей Value и AsXxxx
- •5.4.2Обращение к значению поля при помощи свойств набора данных Fields и FieldValues
- •5.4.3Обращение к значению поля при помощи функции набора данных FieldByName
- •5.5Программный доступ к данным запроса
- •5.5.1Общая схема программного доступа к данным запроса
- •5.5.2Последовательная навигация по записям
- •5.6Обзор событий компонента tQuery
- •6Хранимые процедуры и триггеры
- •6.1Хранимые процедуры
- •6.2Создание хранимых процедур
- •6.3Вызов хранимых процедур
- •6.4Триггеры
- •7Наборы данных
- •7.1Обзор событий класса tdbDataSet
- •7.1.1Реализация каскадных изменений и бизнес-правил
- •7.1.2Другие события
- •8Технология ado
- •8.1Основные особенности технологии ado
- •8.2Реализация технологии ado в Delphi
- •8.3Создание проекта с бд в технологии ado. Установка связи с бд
- •8.3.1Создание модуля данных
- •8.3.2Начало настройки связи
- •8.3.3Выбор провайдера
- •8.3.4Настройка провайдера
- •8.3.5Настройка провайдера Microsoft Jet 4.0 ole db Provider
- •8.3.6Настройка провайдера Microsoft ole db Provider for odbc Drivers
- •8.3.7Завершение настройки связи
- •8.3.8Настройка оставшихся компонент модуля данных
- •8.4Особенности использования компонентов ado
- •8.4.1Базовые объекты ado
- •8.4.2Объект Recordset
- •8.4.3Объект Command
- •8.4.8Связной компонент tadoConnection
- •8.4.9Компонент tadoCommand
- •8.5Свойства, методы и события ado компонентов-наборов
- •8.5.1Общие свойства с bde-компонентами
- •8.5.2Специфические свойства
- •8.5.3Методы класса tCustomAdoDataSet
- •8.5.4События класса tCustomAdoDataSet
- •8.6Компонент tadoDataSet
- •8.7Компонент tadoTable
- •8.8Компонент tadoQuery
- •9Компоненты визуализации данных в Delphi
- •9.1Компонент tdbGrid
- •9.1.1Свойства
- •9.1.2Дополнительные возможности сетки
- •9.2Компоненты визуализации полей текущей записи
- •9.2.1Компонент tdbText
- •9.2.2Компонент tdbEdit
- •9.2.3Компонент tdbCheckBox
- •9.2.4Компонент tdbRadioGroup
- •9.2.5Списочные компоненты
- •9.2.6Компонент tdbMemo
- •9.2.7Компонент tdbRichEdit
- •9.2.8Компонент tdbCtrlGrid
- •9.2.9Компонент tdbNavigator
- •Приложение 2. Бд "поставщик книг"
- •Рекомендованная литература
8.3.4Настройка провайдера
Поскольку большинство параметров связи зависят от провайдера, содержимое 3-х других вкладок панели настройки связи также определяется этим фактором.
Сначала опишем содержимое вкладок при выборе провайдера Microsoft Jet 4.0 OLE DB Provider, а затем содержимое этих вкладок при выборе провайдера Microsoft OLE DB Provider for ODBC driver.
8.3.5Настройка провайдера Microsoft Jet 4.0 ole db Provider
Рисунок 7.70 – Выбор провайдера Microsoft Jet 4.0 OLE DB Provider
Вкладка Подключение определяет необходимые связные параметры для выбранного провайдера (рисунок 10.6).
Рисунок 7.71 – Вкладка Подключение окна настройки связи с провайдером Microsoft Jet 4.0 OLE DB Provider
В строке Выберите или введите имя базы данных требуется указать полный путь доступа к файлу БД (с указанием сетевого каталога). В качестве дополнительной информации на этой вкладке указывается входное имя пользователя и пароль. Для простейшего варианта связи с Microsoft Jet 4.0 OLE DB Provider этих параметров вполне достаточно, поэтому с помощью кнопки Проверить подключение можно протестировать созданную связь. Для других провайдеров может потребоваться задать ряд дополнительных параметров, например имя используемой базы данных, входное имя и пароль для доступа к серверу БД и т. п.
Вкладка Дополнительно позволяет задать некоторые дополнительные свойства связи (рисунок 10.7).
Рисунок 7.72 – Вкладка Дополнительное окна настройки связи с провайдером Microsoft Jet 4.0 OLE DB Provider
Для большей части провайдеров на этой вкладке доступны только флажки в списке Права доступа к данным и строка Время ожидания подключения, с помощью которой можно определить максимальную паузу в обмене данными между провайдером и клиентом. С помощью флажков можно задать любую комбинацию режимов доступа:
Read — только чтение;
ReadWrite — чтение и запись;
Share Deny None — режим совместной работы невозможен;
Share Deny Read — нельзя совместно использовать данные, открытые в режиме чтения;
Share Deny Write — нельзя совместно использовать данные, открытые в режиме записи;
Share Exclusive — нельзя совместно использовать данные, открытые в режиме чтения и/или записи;
Write — только запись.
На вкладке Все приводятся все параметры связи — как заданные явно, так и назначенные по умолчанию (рисунок 10.8). Щелкнув на кнопке Изменить значение, можно отредактировать значение любого параметра.
Рисунок 7.73 – Вкладка Все окна настройки связи с провайдером Microsoft Jet 4.0 OLE DB Provider
Закройте окно щелчком на кнопке ОК. Теперь в поле Use Connection String. на рисунке 10.3 можно увидеть подобный текст:
Рисунок 7.74 –
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=D:\BiblData.mdb\Release\BiblData.mdb;
Persist Security Info=False
8.3.6Настройка провайдера Microsoft ole db Provider for odbc Drivers
Теперь опишем содержимое вкладок при выборе провайдера Microsoft OLE DB Provider for ODBC Drivers (рисунок 10.9). Первый, когда драйвер ODBC уже настроен на конкретную БД и создан псевдоним БД, а второй - когда драйвер ODBC еще не настроен на конкретную БД и не создан псевдоним БД.
Рисунок 7.75 – Выбор провайдера Microsoft OLE DB Provider for ODBC driver
Перейдите на вкладку Подключение и укажите, как вы будете соединяться с ODBC. Если вы установите переключатель Использовать имя источника данных (рекомендуется так как псевдоним БД в ODBC уже существует), то сможете выбрать в раскрывающемся списке созданный ранее псевдоним БД BiblData (рисунок 10.10).
Рисунок 7.76 – Вкладка Подключение окна настройки связи с провайдером Microsoft OLE DB Provider for ODBC driver
Если псевдонима БД в ODBC не существует, то установите переключатель Использовать строку подключения и нажмете кнопку Сборка. Получите окно (рисунок 10.11), в котором выберите закладку Источник данных компьютера.
Рисунок 7.77 – Выбор источника данных для провайдера Microsoft OLE DB Provider for ODBC driver
Нажмите кнопку Создать. Перед вами пройдет череда окон, в которых выполняются действия, аналогичные рассмотренным в разделе 2 при обсуждении вопроса создания псевдоним БД.
Вкладка Дополнительно позволяет задать некоторые дополнительные свойства связи (рисунок 10.12).
Рисунок 7.78 – Вкладка Дополнительное окна настройки связи с провайдером Microsoft OLE DB Provider for ODBC driver
Для большей части провайдеров на этой вкладке доступны только флажки в списке Права доступа к данным и строка Время ожидания подключения, с помощью которой можно определить максимальную паузу в обмене данными между провайдером и клиентом. С помощью флажков можно задать любую комбинацию режимов доступа, рассмотренных выше: Read, ReadWrite, Share Deny None, Share Deny Read, Share Deny Write, Share Exclusive, Write.
На вкладке Все приводятся все параметры связи — как заданные явно, так и назначенные по умолчанию (рисунок 10.13). Щелкнув на кнопке Изменить значение, можно отредактировать значение любого параметра.
Рисунок 7.79 – Вкладка Все окна настройки связи с провайдером Microsoft Jet 4.0 OLE DB Provider
Закройте окно щелчком на кнопке ОК. Теперь в поле Use Connection String. На рисунке 10.3 можно увидеть подобный текст:
Рисунок 7.80 –
Provider=MSDASQL.1;
Persist Security Info=False;
Data Source=BiblData_PgSQL;
Extended Properties="DSN=BiblData_PgSQL;
DBQ=D:\BiblData.mdb\Release\BiblData;
DriverId=25;
FIL=MS PostgreSQL;
MaxBufferSize=2048;
PageTimeout=5;
";
Initial Catalog=D:\BiblData.mdb\Release\BiblData
