Смекни!
smekni.com

Методические рекомендации для преподавателя Дисциплина «Проектирование информационных систем» (стр. 8 из 9)

13. Внимательно разобраться со всеми выполняемыми операциями, подготовиться к ответам на вопросы и персонально выполненную работу предъявить преподавателю.

Листинг 02_5.1. Главный модуль приложения с простой формой для ввода данных

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, ExtCtrls, Mask, DB, ADODB;

type

TForm1 = class(TForm)

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBNavigator1: TDBNavigator;

DBCheckBox1: TDBCheckBox;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

ADOTable1.Close

end;

procedure TForm1.FormShow(Sender: TObject);

begin

ADOTable1.Open

end;

end.

Задание 2

Создать с помощью Delphi табличную форму, осуществляющую работу со всеми полями таблицы Name1 ранее созданной базы данных Employee3 через механизм доступа ADO.

Порядок выполнения

1. Так как мы работаем только с одной таблицей, то таблицу доступа к данным будем помещать прямо на форму. Для создания нового приложения выполните команду File ► New Application.

2. Используя вкладку ADO палитры компонентов, разместите на форме компонент DBTable. Затем перейдите в палитре компонентов на вкладку Data Access и установим на форму компонент DataSource, который необходим для связи набора данных с компонентами визуализации данных.

3. С помощью инспектора объектов для компонента DataSource укажите в свойстве DataSet имя объекта (можно оставить по умолчанию — Tablel).

4. Далее необходимо подключить к компоненту DBTable таблицу базы данных.

Выделите на форме компонент DBTable и затем в поле ввода свойства TableName в инспекторе объектов укажите имя используемой таблицы —«Sotrud_1».

5. Вывод данных будем осуществлять с помощью компонента DBGrid из вкладки палитры компонентов DataControls. Для этого поместим этот компонент на форму и отредактируем в инспекторе объектов свойство DataSource – оставим имя источника данных по умолчанию DataSourcel.

6. Для визуализации следует реализовать процедуры открытия и закрытия набора данных. Набор данных должен открываться при запуске приложения и закрываться при его завершении. Для открытия набора данных используется метод Open класса BDETablе, для закрытия — метод Close того же класса. Для выполнения этого перейти на главную форму во вкладку Events инспектора объектов и по двойному клику в обработчике события OnShow вставить в открывшемся редакторе кодов вставить Table1.Open, а в обработчике OnClose метод Table1.Close.

Текст модуля разработанной формы приведен в листинге 02_5.2.

Общий вид окна работающего приложения показан на рис. 02.2.

Рис. 02.2. Пример размещения таблицы и элементов управления на простой форме

8. Сохранить проект в отдельной (и от проектов других заданий) вложенной папке и запустить его на выполнение (напомним, что при этом автоматически откомпилированное приложение будет помещено в эту же папку).

9. Внимательно разобраться со всеми выполняемыми операциями, подготовиться к ответам на вопросы и персонально выполненную работу предъявить преподавателю.

Листинг 02_5.2

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB;

type

TForm1 = class(TForm)

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

ADOTable1.Close

end;

procedure TForm1.FormShow(Sender: TObject);

begin

ADOTable1.Open

end;

end.

Тема

Обращение к таблицам БД для ввода, вывода и редактирования данных

Упражнения 02-6

Этот учебный файл без изменений сохранять в отдельном файле, а файлы таблиц с выполняемой самостоятельно работой под своим именем сохранять отдельно во вложенной папке с именем Delphi_BD. Оба объекта и все другие рабочие файлы сохранять в папке "Временная_02", которую поместить в папку "Мои документы".

На занятия всем слушателям приносить личные дискеты и в конце занятий копировать на них выполняемые задания.

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

Работа с многотабличной БД (технология BDE)

Задание 1

Создать с помощью Delphi приложение для синхронного вывода и обработки данных из БД, где данные имеют формат .db. Рекомендуется использовать созданную ранее БД Employee2 (см. упражнения ПрактичИС_02_03).

Дополнительные условия

Для просмотра и редактирования данных, содержащихся в таблице будем использовать окна строчного редактора (компоненты типа Edit). Таким образом, в целях упрощения (чтобы избежать преобразования типов данных), тип полей таблицы Name1, которые будут выводиться в форме, должен быть текстовым:

□ «Фамилия», «Имя», «Отчество», «Телефон», «Индекс», «Город», «Адрес», «Дата рождения» — текстовые поля;

□ «Пол» — поле типа Boolean.

Для отображения текстовых полей и поля «Дата рождения» будем использовать компоненты TDBEdit. Логические поля удобнее отображать с помощью флажков — компонентов TDBCheckBox. Кроме того, на форму необходимо поместить элемент TDBNavigator для обеспечения навигации по набору данных, а также несколько обычных элементов TLabel, с помощью которых будем пояснять назначение полей ввода.

Порядок выполнения

1. Создать в Delphi с помощью утилиты Database Desktop базу данных, приведенную к третьей нормальной форме (таблицы Name, Empl, Post) и сохранить ее под именем Employee2 в отдельной папке в том же что и ранее разделе.

Для базы создать Алиас (см. приложение), иначе потом нельзя будет подключить формы и таблицы приложений BDE, ADO.

Имя поля должно иметь префикс по начальной букве названия таблицы (т.е одинаковые поля в разных таблицах будут отличаться префиксом, например, N_Id и E_Id –код физического лица в разных таблицах). Рекомендуемые названия полей приведены в таблице 1.

Таблица 1

Содержание Имя поля (в таблице к имени добавить префикс) Тип

Name

Код физ. Лица N_Id
Имя N_Name Символьный
Отчество N_Patronymic Символьный
Фамилия N_Surname Символьный
Пол N_Sex Логический
Дата рождения N_Birthday Дата
Почтовый индекс N_Index Числовой
Город N_City Символьный
Улица, дом, кв N_Street Символьный
Телефон N_Phone Символьный

Empl

Код сотрудника E_IdEmpl
Код должности E_IdPost
Рейтинг E_Rating Числовой короткий
Дата приема E_AdmissData Дата
Дата увольнения E_DismissData Дата

Post

Код должности P_IdPost
Должность P_Post Символьный
Разряд P_Sort Числовой короткий
Зарплата P_Salary Денежный

Типы полей кода физического лица, кода сотрудника и кода должности выбрать в соответствии с логикой данных.

2. Заполнить базу на 25-30 записей физических лиц, по 6-8 должностей и несколько разрядов. Допускается использовать ранее созданные данные или данные из других БД.

3. Создать форму для синхронного вывода данных на основе технологии BDE. Дополнительные сведения по проектированию содержатся в Приложении.

Такая форма, например, может иметь вид, представленный на рис.06.1:

Рис.06.1. Форма для работы с синхронным изменением данных.

4. Отладить работу приложения и предъявить преподавателю.

Выборка данных

Одной из задач, наиболее часто возникающих при работе с базами данных, является выборка данных, то есть извлечение из базы данных информации, отвечающей ряду требований, заданных пользователем.

Упражнения 10-6-1

Этот учебный файл без изменений сохранять в отдельном файле, а файлы таблиц с выполняемой самостоятельно работой под своим именем сохранять отдельно во вложенной папке с именем Delphi_BD. Оба объекта и все другие рабочие файлы сохранять в папке "Временная_05_06", которую поместить в папку "Мои документы".

На занятия всем слушателям приносить личные дискеты и в конце занятий копировать на них выполняемые задания.

Проработать пример использования компонентов доступа к данным через SQL-запросы.

Задание 1

Используя механизм доступа к данным SQL из Delphi, создать табличную форму, и осуществить ее заполнение данными из указанной пользователем таблицы, находящейся в базе данных, созданной ранее с помощью Access.

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

Порядок выполнения

Поскольку для доступа к базам данных MS Access удобнее применять технологию ADO, то в рассматриваемом примере будем использовать компонент TADOQuery.

Последовательность действий при осуществлении доступа к данным с использованием SQL-запросов примерно следующая:

1. Для создания нового приложения запустите Delphi и выполните команду File ► New Application.

2. Разместите на форме компоненты TADOQuery (используя вкладку ADO палитры компонентов) и TDataSource. Последний необходим для связи набора данных ADO с компонентами визуализации данных и расположен на вкладке Data Access палитры компонентов.