- •Оглавление
- •Часть 1. Краткое описание Delphi 8
- •Часть 2. Технология ado для баз данных access 186
- •9.1. Общие сведения 289
- •Введение
- •Часть 1. Краткое описание Delphi
- •1. Работа со средой delphi
- •1.1. Ознакомление с delphi
- •1.2. Вкладка дизайнера формы (design)
- •1.3. Вкладка редактора кода программы
- •1.4. Окно object inspector
- •1.5. Окно project manager
- •1.6. Окно палитры инструментов
- •1.7. Создание первого проекта приложения
- •1.8. Сохранение проекта
- •1.8. Сохранение проекта
- •1.9. Компиляция
- •2. Основа языка delphi
- •2.1. Основные понятия языка
- •2.1.1. Элементы языка
- •2.1.2. Пример простой программы
- •2.1.3. Типы данных
- •2.1.4. Операции и выражения
- •2.1.5. Стандартные функции
- •2.1.6. Ввод и вывод на дисплей
- •2.1.7. Оператор присваивания
- •2.2. Операторы языка паскаль
- •2.2.1. Составной оператор
- •2.2.2. Условный оператор
- •2.2.3. Сложные условия
- •2.2.4. Оператор выбора case
- •2.2.5. Оператор цикла for
- •2.2.6. Оператор цикла while
- •2.2.7. Оператор цикла repeat
- •2.2.8. Вложенные циклы
- •2.2.9. Прочие операторы
- •2.3. Общая структура программы
- •2.3.1. Перечень разделов программы
- •2.4. Массивы
- •2.4.1. Одномерные массивы
- •2.4.2. Сортировка массивов и поиск элемента в массиве
- •2.4.3. Многомерные массивы
- •2.5. Функции и процедуры
- •2.5.1. Описание функций
- •2.5.2. Обращение к функции
- •2.5.3. Процедуры
- •2.5.4. Параметры-значения и параметры-переменные
- •2.5.5. Локальные и глобальные переменные
- •2.5.6. Pекурсия
- •2.6. Строки символов
- •2.6.1. Задание строк
- •Var имя: string[длина];
- •2.6.2. Функции и процедуры для обработки строк
- •2.7. Порядковые типы данных
- •2.7.1. Перечисляемый тип данных
- •2.7.2. Интервальный тип данных
- •2.7.3. Порядковые типы данных
- •2.7.4. Дополнение:тип данных tDateTime (дата-время)
- •2.8. Множества
- •2.8.1. Значения типа множество
- •2.8.2. Операции на множествах
- •2.9. Записи
- •2.9.1. Поля записи
- •2.9.2. Оператор with
- •2.9.3. Последовательный поиск в массиве записей
- •2.9.4. Двоичный поиск в массиве записей
- •2.10. Файлы
- •2.10.1. Основные свойства файлов
- •2.10.2. Типизированные файлы
- •2.10.3. Текстовые файлы
- •2.10.4. Поиск файлов
- •2.11. Динамическая память
- •2.11.1. Динамические переменные и указатели
- •2.11.2. Динамические списки
- •2.11.3. Деревья
- •2.12. Программные модули
- •2.12.1. Модули, формируемые пользователем
- •2.12.2. Стандартные модули
- •2.12.3. Примеры программ
- •3. Главная форма
- •3.1. Свойства главной формы
- •3.2. События главной формы
- •4. Описание некоторых компонентов
- •4.1. Компонент tpanel (панели)
- •4.2. Компонент tbutton (кнопка)
- •4.3. Дополнительные кнопки
- •4.4. Компонент tlabel (надписи)
- •4.5. Компонент tedit (Строки ввода)
- •4.6. Компонент тМето (многостроч. Поле ввода)
- •4.7. Свойства и методы класса tstrings
- •4.8. Компонент checkbox (флажок)
- •4.9. Компонент tradiobutton (кнопки выбора)
- •4.10. Компонент MainMenu (главное меню программы)
- •4.11. Компонент timage
- •4.12. Компонент tstringgrid (сетка)
- •4.13. Компонент ttimer(таймер)
- •5. Отладка программ
- •5.1. Типы ошибок
- •5.2. Отладка программы
- •5.2.1. Трассировка программы
- •5.2.2. Точки останова программы
- •5.2.3. Наблюдение значений переменных
- •Часть 2. Технология ado для баз данных access
- •6. Создание баз данных access
- •6.1. Определение понятия баз данных
- •6.2. Интерфейс программы access
- •6.3. Создание базы данных в access 2007
- •6.3.1. Создание двухтабличной базы данных
- •6.3.2. Создание базы данных с вычисляемыми полями
- •6.4. Выбop формата для новой базы данных
- •6.5. Создание пустой базы данных
- •6.6. Открытие и закрытие базы данных
- •6.7. Создание таблиц в режиме конструктора
- •6.7.1. Выбор первичного ключа
- •6.7.2. Изменение полей и таблиц
- •6.7.3. Копирование полей
- •6.7.4. Перемещение полей
- •6.7.5. Удаление полей
- •6.7.6. Операции с таблицами
- •6.8. Создание базы данных в access 2003
- •6.9. Установление связей между таблицами
- •6.10. Обеспечение целостности записей в базе данных
- •6.11. Редактирование и удаление связей
- •7. Система доступа к данным ado
- •7.1. Общие сведения
- •7.2. Компонент adoConnection
- •7.2.1. Свойства компонента adoConnection.
- •7.2.2. Методы компонента adoConnection
- •7.3.Компонент аdоТable
- •7.3.1. Свойства компонента tadoTable
- •7.3.2. Методы компонента tadoTable
- •7.4. Компонент adoQuery
- •7.5. Компонент adoDataSet
- •7.5.1.Свойства компонента adoDataSet
- •7.5.2. Методы компонента adoDataSet
- •7.5.3. Cобытия компонента adoDataSet
- •7.6. Компонент DataSource
- •7.7.Комнонент DataGrid
- •7.7.1 Cвойства компонента DataGrid
- •7.7.2. Методы и события компонента DataGrid
- •7.8. Компонент adocommand
- •8. Управление базами данных
- •8.1. Приложение для управления базами данных
- •8.2. Свойства полей базы данных
- •8.3. Редактирование базы данных
- •8.4. Сортировка данных
- •8.5. Поиск данных в базе
- •8.5.1. Фильтрация данных в базе
- •8.5.2. Нахождения информации методом Locate
- •9.1. Общие сведения
- •9.2. Основные операторы запроса
- •9.2.1. Агрегатные функции
- •9.2.2. Подзапросы
- •9.3. Операторы наполнения баз данных sql
- •9.3.1. Ввод значений
- •9.3.2. Удаление значений
- •9.3.3. Изменение значений
- •9.4. Операторы создания баз данных sql
- •9.4.1. Команда создания таблицы.
- •9.4.2. Первичные ключи таблицы
- •9.4.3. Индексы таблицы
- •9.4.4. Добавление в таблицу новых столбцов
- •10. Реализация sql- запросов
- •10.1. Компонент tadoQuery для sql- запросов
- •10.2. Форма для реализация sql-запроса
- •11. Генератор отчетов Quick Reports
- •11.1.Описание Quick Reports
- •11.2. Печать записи с помощью Quick Reports
- •11.3. Печать таблиц с помощью Quick Reports
- •394026 Воронеж, Московский просп., 14
6.11. Редактирование и удаление связей
Связь, установленная между таблицами, может быть изменена. Чтобы изменить существующую связь, необходимо выполнить следующее.
Если таблицы, между которыми необходимо изменить связь, открыты, закройте их, так как изменять параметры связи между открытыми таблицами нельзя.
Выберите на вкладке Работа с базами данных команду Схема данных (группа показать или скрыть).
В окне Схема данных дважды щелкните на линии объединения, которую необходимо откорректировать. Откроется диалоговое окно Изменение связей (рис. 6.11), в котором можно изменить опции связей между таблицами и настроить режим обеспечения целостности данных.
Внесите необходимые изменения и щелкните на кнопке ОК. После закрытия окна Изменение связей программа вернется в окно Схема данных (рис. 6.18).
Чтобы удалить межтабличную связь, выполните следующее
Щелкните на требуемой линии объединения в окне Схема данных (линия при этом станет более жирной) и нажмите клавишу Delete.
Есть и другой способ: Щелкните правой кнопкой мыши на нужной линии связи и выберите из появившегося контекстного меню команду Удалить.
На экране появится диалоговое окно Access, в которое требует подтверждения удаления связи. Для утвердительного ответа щелкните на кнопке Да.
7. Система доступа к данным ado
7.1. Общие сведения
Хотя Delphi поддерживает несколько систем доступа к базам данных, однако система ADO (ActiveX Data Objects) является, пожалуй, наиболее эффективной и универсальной, поэтому мы будем рассматривать именно ее в качестве основной для реализации доступа к базам данных из приложения Delphi.
Система доступа к базам данных ADO (ActiveX Data Objects) разработана компанией Microsoft и обеспечивает доступ к данным путем пользования провайдеров OLE DB.
Провайдеры OLE DB играют роль специальной надстройки, которая принимает запросы ADO и переводит их в нужные действия с данными.
Провайдеры OLE DB фактически являются промежуточным звеном между сервером баз данных и приложением баз данных, обращающимся к данным через ADO.
Данными для ADO могут быть таблицы Access, другие базы данных, например, MS SQL Server или Oracle, а также другие источники данных, а именно, электронные таблицы, XML-файлы, файлы электронной почты и т.д.
Провайдеры OLE DB обеспечивают представление данных из произвольного источника в видe таблицы базы данных или результата выполнения запроса SQL (Structured Query Language - структурированный язык запросов).
Основой ADO являются стандартные интерфейсы СОМ, представляющие собой один из системных механизмов Windows.
При использовании компонентов ADO нет необходимости использовать другие дополнительные программы и библиотеки.
Набор компонентов, позволяющих создавать полноценные приложения баз данных и обращаться к базам данным через ADO, располагается на вкладке dbGo палитры инструментов Delphi 2009.
В самом приложении необходимо применять целую группу компонентов, которые позволят извлечь информацию из баз данных и представить ее пользователю.
Во-первых, в приложение должен быть включен компонент ADOConnection, который при помощи требуемого провайдера ADO обеспечит связь с физической базой данных на диске.
Для создания команд, которые будут реализовывать изменение или извлечение данных, предназначен компонент ADOCommand.
Хотя использовать этот компонент совсем не обязательно, так как компоненты наборов данных имеют собственные свойства и методы, позволяющие осуществлять такие действия.
Информация, полученная из физической базы данных , поступает в один из наборов данных, которыми являются:
ADODataSet - универсальный набор данных, который может быть использован как таблица, SQL-запрос, хранимая процедура или команда;
ADODataTable - таблица баз данных, которая обеспечивает возможность последовательного доступа к записям;
ADOQuery - набор данных, формируемый с помощью SQL-запроса;
Окончательное представление данных в табличном виде обычно происходит с помощью компонента DataGrid (сетка),расположенного на вкладке Data Controls палитры инструментов. Компонент DataGrid соединяется с набором данных посредством компонента DataSource (источник данных), расположенного на вкладке палитры инструментов Data Access.