Смекни!
smekni.com

База данных 3 (стр. 2 из 5)

После переноса компонент на форму производится настройка свойств объектов с использованием ObjectInspector.

Основные свойства объекта Table:

Name - имя объекта используемое в программе (является указателем, заданным в соответствии с шаблоном компоненты); DatabaseName - имя псевдонима (alias) базы данных (выби­рается из списка, если таблица и проектнаходятся в одном ката­логе необязательный параметр!); TableName - имя файла таблицы (выбирается из списка, ес­ли указан псевдоним БД или файл с таблицей и проект находятся в одном каталоге); Active - позволяет отображать данные из таблицы в процес­се разработки и автоматически открывает файл при выполнении (когда установлено true).

Служебная компонента DataSource выполняет роль свя­зующего звена и имеет следующие свойства:

Name - имя объекта используемое в программе (является указателем, заданным в соответствии с шаблоном компоненты); DataSet - имя таблицы связанной с данным объектом (вы­бирается из списка).

Объект Table позволяет приложению работать с таблицей, но для отображения данных на экране необходимо использовать компоненту DBGrid.

Основные свойства объекта DBGrid:Name - имя объекта используемое в программе (является указателем, заданным в соответствии с шаблоном компоненты); DataSource имя источника данных, посредством которого осуществляется связь объекта DBGrid с объектом Table (выбира­ется из списка).

Объект DBGrid позволяет не толькоотображать данные, но и управлять ими (перемещаться по записям, добавлять и редакти­ровать записи и т.д.). Однако ряд действий эффективней выпол­нять с использованием объекта DBNavigator.

Основные свойства объекта DBNavigator:Name имя объекта (указатель); DataSource имя источника данных, посредством которого осуществляется управление компонентой Table, выбирается из спи­ска (рис. 6).

Рис. 6 Свойства компонент Table и DataSource

На рис. 7 показана структурная схема взаимодействия компонент приложения для работы с базой данных.

Рис. 7. Взаимодействие компонент приложения

После размещения на форме всех необходимых компонент и настройки их свойств получим макет приложения, показанный на рис. 8.

Рис. 8 Макет формы приложения для работы с таблицей stud

После компиляции и запуска приложения возможна работа с исходной однотабличной БД – ввод, сохранение, удаление и редактирование данных, перемещение по записям таблицы. Вводимая в поля таблицы информация должна соответствовать указанному при создании таблицы типу поля и не превышать длину поля (в этом случае ввод символов за границей длины поля будет невозможен).

Рис. 9 Внешний вид работающего приложения

Структура проекта приложения

При работе с БД можно выделить три группы фай­лов, которые создаются интегрированной средой и содержат программный код, необходимый для компиляции проекта:

1. проектные файлы (приводятся имена, используемые по умолчанию для первого созданного в среде проекта):

Project1 .dof - проектный файл компоновки, описывающий все файлы, входящие в проект;

Project1.dpr - файл, отвечающий за запуск приложения;

Project1.res - файл ресурсов (курсоры, пиктограммы и т.д.).

2. файлы, относящиеся к формам приложения (имена, используемые по умолчанию Delphi для первой созданной формы):

Unit1 .pas - исходные тексты программы, содержащие обра­ботчики событий класса TForm1;

Unit1 .dfm - файл с описанием формы, её визуальных объек­тов и их свойств.

3. Файлы данных: файлы таблиц, индексов и т.д.

При использовании формата dBaseforWindows файлы таблиц имеют расширение *.dbf, а файлы индексов *.mdx.

Пример реализации БД о студентах

Постановка задачи: необходимо организовать хранение информации о студентах: № зачётной книжки, шифр группы, ФИО, год рождения, пол, предмет, среднюю оценку по предмету.

А. Определим структуру базы и введём условные обозначения:

Zach – номер зачётной книжки, целое 6 знаков;

Group – шифр группы, символьное, 4 символа;

Fam – фамилия символьное, 20 символов;

Nam – имя символьное, 20 символов;

Par – отчество символьное, 20 символов;

Year_b – год рождения, целое, 4 знака;

Sex – пол символьное, 1 символ;

Pred – предмет символьное, 10 символов;

Oz – оценка целое, 4 целых знака, 2 десятичных.

В. Разработаем таблицу с соответствующей структурой. Для этого необходимо запустить утилиту DatabaseDesktop, выбрать опции меню File->New и заполнить соответствующие ячейки диалога задания структуры в соответствии с выбранной структурой (пункт А, рис. 2). После этого необходимо сохранить таблицу на диске в своём рабочем каталоге.

С. Создадим Windows-приложение для работы с данными. Для этого необходимо запустить среду BorlandDelphi, выбрать опции меню File->New->Application, после чего откроется новый проект приложения. Далее следует перенести на макет формы приложения компоненты Table, DataSource, DBGrid, DBNavigator и настроить их свойства в соответствии с табл. 2.

Таблица 2. Свойства компонент приложения

Компонента Свойство Значение
Table Name Table1
TableName Stud.dbf
DataSource Name DataSource1
DataSet Table1
DBGrid Name DBGrid1
DataSource DataSource1
DBNavigator Name DBNavigator1
DataSource DataSource1

Внешний вид макета формы приложения должен соответствовать рис. 8.

После этого необходимо откомпилировать проект и осуществить ввод данных в таблицу (рис. 9).

ЛАБОРАТОРНАЯ РАБОТА №2

СОЗДАНИЕ WINDOWS-ПРИЛОЖЕНИЯ ДЛЯ РАБОТЫ С БАЗОЙ ДАННЫХ. ГЕНЕРАЦИЯ ОТЧЕТОВ.

Обработка информации однотабличной базы данных

Помимо хранения, редактирования, обновления и анализа данных в базе данных (БД), на практике часто возникает задача осуществления разного рода расчётов и вычислений с использованием хранящейся в БД информации. Например, для базы данных, хранящей информацию о студентах учебного заведения (см. методические указания к лабораторной работе №1) может возникнуть задача расчёта средней оценки студента по конкретному предмету или расчёта успеваемости группы. Поскольку требуемые расчёты могут быть довольно сложные, необходимо использование программных пакетов разработки приложений, объединяющих в себе как удобные средства доступа к БД различных форматов, так и гибкий язык программирования. С этой точки зрения наиболее удобным инструментом является среда визуальной разработки Windows-приложений Borland Delphi, обеспечивающая доступ к информации БД практически всех существующих форматов и возможность её обработки, используя язык Delphi.

Визуальная навигация и управление данными в BorlandDelphi производится с помощью компонент просмотра (DBGrid) и управления (DBNavigator), которые позволяют перемещаться по записям, удалять, добавлять или модифицировать их и т.д.

Программная навигация по записям таблицы возможна ис­пользованием соответствующих методов. Компонента Table ос­нована на базовом классе TTable, в который инкапсулированы следующие методы навигации:

Next - перемещение указателя на следующую запись;

Prior - перемещение указателя на предыдущую запись;

First - перемещение указателя на первую запись таблицы;

Last - перемещение указателя на последнюю запись таблицы.

Например, если создан объект Table, свойством Name ко­торого является значение Table1, то оператор

Table1.First;

переместит указатель на первую запись. Перечисленные методы позволяют последовательно пере­мещать указатель записи по таблице. Для определения последней записи таблицы используется ее свойство Eof, которое принимает значение true, когда указатель установлен на последней записи.

Фрагмент программы

Tabl1.Open;

Table1.First;//перемещение на начало таблицы

WhilenotTable1.EOFdo//проверка на конец файла

Table1.Next;//перемещение на следующую запись

Table1.Close;

показывает, как организовать последовательный просмотр всех записей таблицы.

Для программного управления записями таблицы в класс TTable инкапсулированы следующие методы управле­ния:

Delete - удаление текущей записи с позиционированием указателя на следующую запись;

Insert - добавление пустой записи в таблицу;

Edit – перевод таблицы в режим редактирования;

Postсохранение изменений в таблице.

Например, фрагмент программы

Table1.Last;

Table1.Delete;

Перечисленные методы позволяют оперировать с целыми записями таблицы.

При обработке данных таблицы часто требуется программ­но получить значение определенного поля записи или записать в него новое значение. Например, в БД студентов учебного заведения необходимо поменять оценку в одной записи, не изменяя значения остальных полей. Подобные операции с полями таблицы тре­буют создания объектов, указывающих на соответствующие поля.

Для создания подобных объектов нужно выполнить следующую последовательность действий:

- нажать правой клавишей мыши на соответствующем объ­екте Table;

- в выведенном меню выбрать опцию FieldsEditor, в ре­зультате чего на экране появится диалог редактирования полей;