- •Оглавление
- •Часть 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.3.2. Методы компонента tadoTable
Bookmarkvalid— этот метод проверяет правильность закладки. В качестве единственного параметра нужно указать закладку типа Tbookmark и если она является "действительной", то результатом будет true;
Cancelupdates — отменить обновления, сохраненные в кеш-памяти;
CompareBookmarks — сравнение двух вкладок. У метода два параметра типа TBookmark. Эти две вкладки сравниваются. Если вкладки равны, то результат равен нулю. Если первая меньше второй, то результат будет -1. Если первая больше второй, то результат равен единице;
DeieteRecords — удалить записи. У метода один параметр, определяющий, какие записи удалять. Вы можете указать следующие его значения:
ArCurrent — удалить только текущую запись;
arFiltered - удалить записи, удовлетворяющие установленному фильтру;
arAll —удалить все записи;
arAllchapters —удалить записи во всех разделах ADO;
Append — добавить новую запись в конец таблицы;
Cancel - - отменить изменения текущей строки, если изменения еще не были сохранены с помощью метода Post;
Close — закрыть таблицу;
Delete - - удалить текущую строку;
Edit — перейти в режим редактирования. После этого можно изменять значения полей;
FieidByName — найти поле по имени. В качестве единственного параметра нужно указать имя поля в виде строки, и в результате получим ссылку на поле в виде объекта ;
First - - перейти на первую строку в таблице;
Insert — вставить новую строку в таблицу;
IsEmpty - - если метод вернет true, то в таблице нет записей;
Last — перейти на последнюю запись в таблице;
Next - - перейти на следующую запись;
Post — принять все изменения;
Prior —двигаться на предыдущую запись в таблице.
Refresh— обновить информацию о данных;
UpdateRtcord — обновить текущую запись.
7.4. Компонент adoQuery
Компонент ADOQuery использует операторы SQL для извлечения данных из таблиц базы данных. Поскольку этот компонент, как и все прочие наборы данных ADO, является наследником класса TCustomADODataSet, то он обладает стандартным набором основных свойств, методов и событий, таким же, как и компонент TADOTable.
Рассмотрим только некоторые его особенности.
Свойство SQL содержит текст SQL-запроса.
Свойство Parameters позволяет задать параметры запроса.
В случае, когда запрос возвращает набор записей, его выполнение осуществляется путем вызова метода Open или путем установки свойства Active в true.
Если же запрос в результате не возвращает никаких записей (т. е. осуществляет модификацию набора данных, а не выборку записей), то для его выполнения применяется метод ExecSQL В качестве результата данная функция возвращает число записей, обработанных с помощью запроса.
Количество обработанных записей в результате выполнения последнего запроса также можно узнать при помощи доступного только для чтения свойства RowsAffected.
7.5. Компонент adoDataSet
Компонент ADODataSet обрабатывает информацию из одной или нескольких таблиц базы данных ADO.
Этот компонент является наиболее универсальным и может быть использован вместо любого из компонентов ADOTable или ADOQuery.
Компонент ADODataSet является единственным набором данных, который имеет свойства CommandText и CommandType, позволяющие задавать команды ADO.
Эти свойства рассмотрим в первую очередь.
Свойство CommandText содержит текст команды ADO. Этот текст обязательно должен соответствовать типу команды.
Данное свойство CommandText имеет собственный встроенный редактор свойства.
Указанный редактор открывается при нажатии в Инспекторе объектов на свойство CommandText и кнопку (…) в поле справа от свойства CommandText (рис 6.18).
Рис. 7.6
Как видно на рис. 7.6, в левой верхней части окна расположен список доступных таблиц базы данных.
Под этим списком находится кнопка Add Table to SQL, которая позволяет добавить название выбранной таблицы в текст команды.
Еще ниже отображается список полей выделенной таблицы.
Кнопка Add Field to SQL предназначена для включения требуемого поля в запрос.
В правой части окна размещается редактор, в котором, собственно, и записывается полный текст команды ADO.
Свойство CommandType задает тип команды. Это свойство может иметь одно из следующих значений:
cmdFile - получение данных из файла, содержащего набор записей;
cmdStoredProc - выполнение хранимой процедуры (специальные процедуры, которые хранятся на удаленном сервере БД, по запросу удаленного клиента выполняют определенные действия с базой данных и возвращают ему результат);
cmdTable - получение данных из таблицы;
cmdTableDirect - получение данных таблицы с возвращением всех ее столбцов;
cmdText - выполнение SQL-запроса или вызов хранимой процедуры;
cmdUnknown - неизвестный тип команды.