- •Оглавление
- •Часть 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
7.2. Компонент adoConnection
Компонент ADOConnection устанавливает связь с базой данных.
Через этот компонент доступ к базе данных могут получить наборы данных ADO такие как ADOTable или ADOQuery. Вместе с тем наборы данных ADO имеют свойства, которые позволяют им непосредственно связываться с базой данных.
Однако применение компонента ADOConnection имеет ряд преимуществ, таких как, например, использование только одного соединения с базой данных для разных компонентов ADO, возможность прямого выбора провайдера данных, и т. д.
Настройка соединения с базой данных осуществляется с помощью свойства ConnectionString компонента АВОСоппесtion Это свойство должно содержать строку соединения т.е. список значений специальных параметров, которые перечисляют через точку с запятой (без пробелов).
Однако задавать свойство ConnectionString путем прямого указания требуемых параметров в строке соединения не слишком удобно
Для этой цели обычно используется редактор (мастер) параметров соединения (рис. 7.1), который может быть вызван двойным щелчком по компоненту ADOConnection или щелчком по кнопке … в поле справа от свойства ConnectionString в Инспекторе объектов.
Рис. 7.1.
Задавать параметры соединения в данном редакторе можно двумя способами:
указав ссылку на файл с расширением .udl, в котором содержатся необходимые настройки;
создав строку связи с данными.
Чтобы установить параметры соединения с помощью файла UDL, следует выбрать в редакторе опцию Use Data Link File и указать путь к требуемому файлу. Файл UDL - это обычный текстовый файл, в котором задается список параметров и их значений в формате:
параметр=значение
Друг от друга параметры отделяются точкой с запятой.
Удобство использования таких файлов заключается в том, что они могут быть легко изменены уже после того, как приложение создано и скомпилировано.
Для формирования строки связи с данными необходимо выбрать опцию Use Connection String и установить все необходимые параметры, нажатием кнопки Build.
В результате такого действия на экране появится окно Свойства связи с данными, содержащее четыре вкладки, на которых последовательно задаются параметры соединения
Первая вкладка указанного окна называется Поставщик данных (рис. 7.2).
.
Рис. 7.2
На этой вкладке представлен список провайдеров ADO, установленных в операционной системе.
Для доступа к определенному типу данных используется соответствующий провайдер.
Так, например, для доступа:
к базе данных Microsoft Access 2003 (и более ранних версий) применяется провайдер Microsoft Jet 4.0 OLE DB Provider;
к базе данных Microsoft Access 2007 - провайдер Microsoft Office 12.0 Access Database Engine OLE DB Provider.
для доступа к базе данных Microsoft SQL Server - провайдер Microsoft OLE DB Provider for SQL Server и т. д.
Мы рассматриваем базу данных Microsoft Access 2007, поскольку она является не только современной, но и наиболее доступной.
Однако, как указывалось выше, рассматривать базу данных Microsoft Access 2007 мы будем в формате Access 2003. И поэтому должны выбрать провайдер Microsoft Jet 4.0 OLE DB Provider.
После того как будет выбран необходимый провайдер соединения, следует нажать кнопку Далее. Произойдет переход к следующей вкладке Подключение (рис. 7.3).
Рис. 7.3
Вид страницы Подключение зависит от выбора провайдера. На рис. 7.3 показано изображение вкладки Подключение, соответствующее провайдеру Microsoft Jet 4.0 OLE DB Provider;
Имя файла базы данных с указанием пути должно быть указано в текстовом поле Источник данных (Выберите или введите имя базы данных).
Но сначала заполним следующие поля.
Пользователь (User name). Значение поля можно оставить по умолчанию (не указывать), если при создании базы в MS Access не требуется указать другое имя.
Пароль (Password). Если база имеет пароль, то его необходимо указать.
Пустой пароль (Blank password). Если пароль не нужен, то здесь желательно поставить флажок.
Разрешить сохранение пароля (Allow saving password). Если здесь поставить флажок, то пароль может быть сохранен. Если нет, то при каждом запуске программы будет появляться окно с просьбой ввести пароль.
Далее выбираем файл базы данных.
Чтобы легче было выбрать файл базы данных, необходимо щелкнуть мышью по кнопке с тремя точками (...), справа от строки ввода.
Появится окно Выберите базу данных. В строке Папка нужно нажать стрелку. В окне покажется обзор папок, в котором нужно выбрать файл необходимой базы данных и открыть его.
Снова появится окно Свойства связи с данными, в котором нажатием кнопки Проверить подключение можно выполнить проверку соединения с базой данных.
В зависимости от результата такой проверки пользователю будет выдано сообщение об успешной или неудачной попытке подключения.
После этого на вкладке Дополнительно (рис. 6.16) можно задать права доступа к базе данных:
Read- только чтение;
ReadWrite — чтение и запись;
Share Deny None - всем пользователям открыт полный доступ на чтение и запись (это значение задано по умолчанию);
Share Deny Read- чтение запрещено всем пользователям;
Share Deny Write - всем пользователям запрещена запись;
Share Exclusive - чтение и запись запрещены всем пользователям;
Write - только запись.
Рис. 7.4
Последняя вкладка Все (рис. 7.5) дает возможность просмотреть все установленные параметры и при необходимости скорректировать установленные ранее значения.
Рис. 7.5
Если пароля нет, в свойствах компонента ADOConnection нужно отключить свойство LoginPrompt, выставив его в False.
После того как установлены и проверены все параметра соединения, следует нажать кнопку ОК.
Результатом этого станет автоматически сформированная строка соединения, которая отобразится в редакторе, изображенном на рис. 6.13. В свою очередь нажатие кнопки ОК приведет к тому, что соответствующее значение будет присвоено свойству СоппесtionString компонента ADOConnection.
Для управления соединением с базой данных используется свойство Connected или методы Open и Close компонента ADOConnection.
Открытие соединения осуществляется путем установки свойства Connected в true или вызовом метода Open.
Для того чтобы закрыть соединение, необходимо присвоить значение False свойству Connected или вызвать не имеющий параметров метод Close.