Создание баз данных в Delphi 7 1.1.ppt
- Количество слайдов: 40
Создание баз данных в Delphi 7
Работа с базой данных Страницы палитры компонентов, предназначенные для работы с базой данных: Data. Access – источники данных. Эти компоненты применяются для доступа к базам данных. BDE – эти компоненты обеспечивают доступ к данным. Data. Controls – компоненты, предназначенные для работы с самими данными: для редактирования, навигации, вывода на экран. Query - предназначен для выполнения запросов.
Компонент Query Запрос к базе данных — это изложенное на языке SQL требование выполнить определенные действия с данными. При помощи компонента TQuery можно получать доступ или манипулировать данными одной или нескольких таблиц, расположенных в базах данных формата SQL (англ. Structured Query Language — «язык структурированных запросов» ) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.
Запрос, заносимый вами в SQL в начале проектирования, может иметь следующий вид: < Select * from pers >
Основные свойства запроса SQL Свойства Описание Active (true, false) Определяет, открыта или закрыта БД. Database. Name Имя БД. Data. Sourse Указывает компонент Data. Sourse относящейся к главной таблице, из которой берется значение ключа. Params Массив параметров запроса, создается в SQL. Param. Count Число параметров в свойстве Params. SQL Свойство компонента, содержит запрос SQL.
Использование языка запросов SQL для поиска С большими базами желательно использовать SQLзапросы. При использовании SQL-запроса клиент направит серверу только маленький текстовый запрос с условиями, сервер проверит его и вернет только необходимые данные. Если просто вписать запрос в свойство SQL компонента Query и его не изменять в течение всей программы, то такой запрос называется статическим. Но если в течение выполнения программы надо изменять текст запроса, то это динамический запрос.
Иногда бывает необходимо выбрать значения полей указанной таблицы, для которых значение некоторого поля соответствует значению, которое пользователь введет в окно (в нашем случае в Edit). procedure TForm 1. Button 1 Click(Sender: TObject); begin Query 1. SQL. Clear; Query 1. SQL. Add(‘Select * from orders where title_tovar="’+Edit 1. Text+’”’); Query 1. Open; end;
Основные методы компонента Query Cancel() Close() Отменяет результаты редактирования Закрывает набор данных. Delete() Удаляет активную запись и устанавливает курсор на следующую запись. Create. Table() Delete. Table() Создает таблицу БД. Удаляет таблицу БД. Edit() Переводит набор данных в режим редактирования. Field. By. Name() First() Находит поле по его имени. Перемещает курсор к первой записи. Get. Field. Names() Выдает список имен всех полей таблицы. Insert() Вставляет новую пустую запись. Last() Перемещает курсор на последнюю запись. Next() Перемещает курсор на следующую запись. Prior() Перемещает курсор на предыдущую запись. Bool Locate(Ansi. String Key. Fields, Key. Values, TLocate. Options Searel Options) Осуществляет поиск записи в наборе данных. Open() Открыть таблицу. Post() Сохранить определенную или вставленную запись.
Начнем с обзора некоторых компонентов, которые понадобятся нам для создания приложения, использующего локальную базу данных. 1. Компонент TTable – основной компонент базы, через который идет обращение к конкретной таблице конкретной базы данных. Находится он на вкладке BDE. 2. Компонент TData. Sourse – он связывает наш компонент TTable с конкретной таблицей на нашем диске. Находится на вкладке Data. Access
3. Компонент TDBGrid – визуальный компонент, который отображает таблицу и ее содержимое на форме (без него мы не сможем увидеть таблицу, хотя программно можем с ней работать). Находится на вкладке Data Controls 4. Компонент TDBNavigator – визуальный компонент, который позволяет осуществлять навигацию по базе. Находится на вкладке Data Controls
После знакомства с компонентами начнем создание приложения, причем в качестве базы данных используем готовую базу с описанием и фото, имеющуюся в Delphi в качестве демонстрационной базы.
Хотя Delphi и не является СУБД в классическом понимании этого термина, в частности, у нее нет собственного формата баз данных, она поддерживает как собственные сразу несколько форматов, в частности, d. Base и Paradox.
d. Base Таблицы d. Base являются одним из первых форматов БД, появившихся на ПК, благодаря чему с ними могут взаимодействовать многие СУБД - если и не на прямую, то по крайней мере, имея возможность импортировать и экспортировать данные в этом формате. Более того, с некоторыми оговорками, их можно просматривать и редактировать даже в электронных таблицах.
Paradox появился позже и, пожалуй, является одним из наиболее развитых форматов, применяемых в локальных БД. Основными отличиями этого формата от d. Base являются: возможность использования практически любых символов для названий полей, а так же лимит в 25 символов, а не в 10; большее количество поддерживаемых типов данных; поддержка контроля целостности данных и возможность организации проверки вводимых данных; возможность защиты таблиц паролем и определения прав доступа к данным.
Типы данных в Paradox Alpha А Строка длиной не более 255 символов Number N Число с плавающей точкой Money $ То же, что и Number, но при выводе сопровождается обозначением денежного знака Date D Дата в диапазоне от 1 января 9999 г. до н. э. до 31 декабря 9999 г. Time T Время Memo M Строка произвольной длины. Graphic G Графическое изображение в формате BMP, PCX, TIFF, GIF или EPS. Logical L Логическое значение (TRUE или FALSE) Bytes Y Двоичная информация (произвольная последовательность байтов) длиной не более 255 символов
Инструменты для работы с БД Помимо поддержки БД в самой среде Delphi, в состав поставки Delphi входит ряд дополнительных инструментов, служащих для обеспечения работы с БД. Прежде всего, это BDE - Borland Database Engine, представляющий собой набор системных библиотек и драйверов, предназначенных для взаимодействия БД и приложений, разрабатываемых в Delphi. BDE Administrator - утилита для настройки различных параметров BDE. Database Desktop - программа для создания, просмотра и редактирования отдельных таблиц и запросов. Data Pump - программа для переноса данных между БД. Database Explorer - программа-проводник для иерархического просмотра и редактирования БД.
Шаг № 1 Установим на форму компонент TTable с вкладки BDE. Сейчас присоединим его к конкретной базе данных на нашем диске Для этого раскрываем свойство Data. Base. Name и выбираем базу данных Дальше раскроем свойство Table. Name и выберем среди нескольких входящих таблиц файл %dbname%. db – это и есть таблица, которая содержит описание и фото
Шаг № 2 Установим на форму компонент TData. Sourse – он будет связывать визуальные компоненты, которые отображают содержимое таблицы с компонентом TТable Находим свойство Data. Set у этого компонента и в выпадающем списке указываем на Table 1
Шаг № 3 Ставим на форму компонент DBGrid – он и будет отображать нашу таблицу В свойстве Data. Sourse выбираем источник данных – Data. Sourse 1
Шаг № 4 В Delphi имеется ряд компонент для отображения содержания отдельных ячеек – DBEdit, DBMemo, DBImage и др. Все они находятся на вкладке Data Control. Поместим их на форму и свяжем с определенными столбцами таблицы: для каждого из этих компонентов укажем свойство Data. Sourse в Data. Sourse 1, а свойство Data. Field следующим образом: DBEdit - ассоциируем с полем Common_name DBMemo - ассоциируем с полем Notes DBImage - ассоциируем с полем Graphic
DBImage DBMemo DBEdit
Теперь создадим базу данных при помощи MS Access.
Для работы с базой данных сначала создадим ее в MS Access. Пусть это будет телефонный справочник с полями ФИО, Телефон и Адрес Заполним таблицу произвольными значениями и сохраним ее. Сейчас можно приступать к созданию приложения. Нашим приложением будет электронный телефонный справочник с функциями поиска по номеру или по фамилии
Рассмотрим структуру нашей программы: О программе (Form 2) Главная (стартовая) форма (Form 1) Поиск по фамилии (Form 3) Просмотр всей базы (Form 5) База телефонов MS Access Поиск по номеру (Form 4)
Шаг № 1 Создадим 5 форм, познакомим их, назовем заголовки форм, выберем размеры и стили форм. Form 1 Form 2 Form 3 Form 5 Form 4
Шаг № 2 На главной (стартовой) форме (Form 1) расположим компоненты Кнопка – Поиск по фамилии Кнопка – Поиск по номеру Кнопка – Посмотреть всю базу Кнопка – Справка Кнопка – Выход
Шаг № 3 Разработаем дизайн формы Справка Расположим на ней информацию по работе с программой с помощью соответствующих компонент и кнопку Закрыть, для которой запишем код выхода.
Шаг № 4 Разработаем форму Поиск по фамилии. Эта форма должна быть связана с базой телефонов MS Access. Для связи формы с Access базой используем следующие компоненты:
Вместо TTable, которую мы использовали в первом примере, для связи с Access служит «свой» компонент – ADOTable, который находится на вкладке ADO. Помещаем его на форму и привязываем к таблице телефонных номеров. Для этого раскрываем свойство Connectiоn. String и нажимаем кнопку Build
Открывается окно связи с данными, в котором на вкладке Поставщик данных выбираем Microsoft Jet 4. 0 Ole DB Provider Переходим на вкладку Подключение и выбираем через кнопку обзора нашу базу (телефон. mdb) Здесь же можно проверить подключение, задать пароль и права доступа к базе
Шаг № 5 Устанавливаем свойства ADOTable: Table. Name – в раскрывающемся списке выбираем нашу таблицу (у нас она названа Таблица 1) Index. Field. Name – ФИО (данные будут сортированы по полю ФИО) Свойство Active ставим в True
Шаг № 6 Помещаем на форму элемент Data. Sourse и его свойство Data. Set устанавливаем через раскрывающийся список в ADOTable 1 Добавляем на форму компонент для отображения данных таблицы – DBGrid, у которого источником данных выбираем Data. Sourse 1 – и мы сразу видим, что в DBGrid появились данные из нашей таблицы
Шаг № 7 Помещаем на форму кнопки Найти и Выход, Label «Введите фамилию» и поле Edit для ввода фамилии. Свойство Visible у DBGrid – а сделаем False, чтобы при открытии формы поиска не было видно содержимого таблицы.
Шаг № 8 Сейчас запишем код кнопки Найти: Если фамилия не введена, то выводим об этом сообщение Осуществляем поиск по полю ФИО с помощью метода Locate Параметр поиска, позволяющий искать по первым буквам фамилии Ищем по полю ФИО Образец для поиска берем из Edit
Шаг № 9 И последнее – код кнопки Выход: Очищаем Edit для ввода фамилии Делаем «Грид» невидимым Закрываем форму
Шаг № 10 Разрабатываем форму Поиск по номеру: Для этой формы размещаем точно такие же компоненты, связываем их с таблицей – т. е. выполняем те же шаги, что и с формой Поиск по фамилии Аналогичны и коды кнопок Найти и Выход. Отличие в коде кнопки Найти в том, что в качестве поля поиска указываем поле «Телефон»
Последняя форма отображает всю базу, поэтому DBGrid на ней можно развернуть на всю форму, а саму форму сделать побольше. Естественно те же компоненты для отображения данных (ADOTable, Data. Sourse и DBGrid)
Последний шаг Все сохраняем, компилируем и пробуем работу приложения.
Итог Мы попытались использовать в Delphi две простые базы данных на основе Paradox и Access.
Благодарим за внимание!
Создание баз данных в Delphi 7 1.1.ppt