- •Оглавление
- •Часть 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.3. Создание базы данных в access 2007
Будем полагать, что программа Access 2007 уже запущена и открыто окно Приступая к работе с Microsoft Officce Access.
С помощью программы Access 2007 будут создаваться рабочие базы данных (РБД), а вот работать с ними будем уже из программы Delphi.
6.3.1. Создание двухтабличной базы данных
Для примера создадим новую базу данных, состоящую из записей для хранения сведений об итогах обучения студентов, изучающих ряд предметов (дисциплин).
Назовем новую базу данных Обучение.
Она, как минимум, должна состоять из двух таблиц - таблицы Список, куда заносятся данные о студентах, сдающих зачеты и экзамены, и таблицы Оценки, в которой отмечается сдаваемая дисциплина и оценка как итог сдачи экзамена или зачета.
Рассматривая базу данных как объект, можно сказать, что этот объект должен иметь, как минимум, следующие обработчики событий:
обработчик события Запись в таблицу Список данных о студентах,
обработчик события Настройка программы получения знаний и запись в таблицу Оценки итогов проверки (итоги тестирования)
обработчик события Проверка полученных знаний и запись в таблицу Оценки итогов проверки (итоги тестирования)
и, наконец, обработчик события Получение необходимой информации из базы данных.
Так как стандартных обработчиков такого рода нет, то необходимо составить соответствующие Delphi-программы.
В частности, для заполнения таблицы Список создана Delphi-программа Составление списка.
Главная форма Delphi-программы Составление списка приведена на рис. 6.3.
Рис. 6.3
Из рис. 6.3 видно, что эту форму установлены два компонента – компонент ADOConnection для связи с базой данных и компонент ADODataSet для записи данных о студентах, сдающих экзамены.
Для введения данных о студентах на форму установлены компоненты TEdit.
На эту форму также установлен еще ряд компонентов – это компоненты TLabel для создания поясняющих надписей о вводимых данных, и компоненты TButton для управления, назначение которых ясно из надписей на кнопках формы.
Причем показанный на форме компонент Label3 предназначен для вывода даты составления списка. Кроме компонента Label3, для дублирования даты записи на форму установлен также компонент DataTimePicker.
Вид этой формы в процессе работы программы приведен на рис. рис. 6.4.
Рис.6.4
При нажатии на кнопке компонента DataTimePicker появляется календарь. (рис. 6.5).
Рис. 6.5
Для настройки программы Тестирование создана Delphi-программа Настройка. Она содержит несколько форм, обеспечивающих разные режимы настройки.
Так показанная на рис 6.6 форма 6 позволяет установить номера начальной и конечной тем тестирования и число вопросов, задаваемых по каждой теме
Рис. 6.6
Форма 10, показанная на рис. 6.7, позволяет установить необходимый уровень тестирования и процент правильных ответов, необходимый для достижения этого уровня. Причем для экзамена возможно как тестирование по задаваемому преподавателем уровню, так и по уровню, норматив которого заложен по умолчанию в программе
Рис. 6.7
Для заполнения таблицы Оценки создана Delphi-программа Тестирование.
Главная форма Delphi-программы Тестирование приведена на рис. 6.8.
Рис. 6.8
Так как таблицы Список и Оценки взаимосвязаны и все данные о студенте и сдаваемой дисциплине уже есть в базе данных, то для идентификации студента достаточно ввести в компонент TEdit этой формы только фамилию студента.
На этой форме в компонент TLabel выводится название дисциплины. В остальном эта форма подобна предыдущей форме.
На рис.6.9 приведена еще одна форма этой программы. Действие этой формы обеспечивает выдачу случайным образом вопросов с предполагаемыми ответами (до пяти). Для этой цели на форме установлен компонент TTimer(таймер).
Для связи программы с базой данных и для записи в нее результатов экзамена установлены компоненты ADOConnection, ADODataSet и ADODataTable
Рис. 6.9
Составление Delphi-программы для управления и получения нужной информации из базы данных рассмотрено ниже в одном из следующих разделов.