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

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

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

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

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

Для отображения текстовых полей использовать компоненты DBEdit. Логические поля удобнее отображать с помощью флажков — компонентов DBCheckBox. Кроме того, на форму необходимо поместить элемент DBNavigator для обеспечения навигации по набору данных, а также элементы Label, с помощью которых пояснить назначение полей ввода.

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

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

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

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

4. Выделите на форме компонент DBTable и затем в поле ввода свойства DatabaseName в ниспадающем меню выберите имя алиаса, связанного с таблицами данных (для базы должен был быть создан алиас (авторский был DBNew2), иначе ее нельзя подключить через BDE).

5. К компоненту DBTable необходимо подключить нужную таблицу базы данных. Для этого выделим на форме компонент DBTable и затем в поле ввода свойства TableName в инспекторе объектов укажем имя используемой таблицы —«Name1».

6. Поместить на форму семь-девять (по числу полей редактируемой таблицы) компонентов полей ввода и редактирования данных DBEdit, компонент DBCheckBox (для ввода значения "пол") и компоненты Label для обозначения названия полей.

Примерный вид формы (уже на этапе выполнения) показан на рис. 02.04.1.

 

Рис.02.04.1. Форма для ввода вывода и модификации записей таблицы Name1.

7. Для настройки элементов визуализации полей базы данных (семь полей ввода DBEdit и флажок DBCheckBox) и элемента навигации по набору данных (DBNavigator, назначение кнопок и свойства его см. ниже в Приложении) укажем имя источника данных в инспекторе объектов в свойстве DataSource (оставить по умолчанию — DataSourcel), а в свойстве DataField для каждого поля ввода укажем имя поля набора данных (выбрать имя поля из предложенного списка), с которым связывается элемент отображения и редактирования данных.

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

Текст модуля разработанной формы приведен в листинге 02.1 (только для справки).

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

 

Листинг 02.1.

unit Unit1;

 

interface

 

uses

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

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

type

TForm1 = class(TForm)

Table1: TTable;

DataSource1: TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBCheckBox1: TDBCheckBox;

DBNavigator1: TDBNavigator;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Button1: TButton;

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

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

{$R *.dfm}

 

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

begin

Table1.Close

end;

 

procedure TForm1.FormShow(Sender: TObject);

begin

Table1.Open

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Close

end;

end.

 


Задание 2

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

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

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

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

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

4. Выделите на форме компонент DBTable и затем в поле ввода свойства DatabaseName в ниспадающем меню выберите имя алиаса, связанного с таблицами данных (для базы должен был быть создан алиас, иначе ее нельзя подключить через BDE).

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

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

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

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

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

 

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

 

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

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

 

 


Листинг 02.2

unit Unit1;

 

interface

 

uses

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

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, StdCtrls;

 

type

TForm1 = class(TForm)

Table1: TTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

Label1: TLabel;

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

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

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

begin

Table1.Close

end;

 

procedure TForm1.FormShow(Sender: TObject);

begin

Table1.Open

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

close

end;

 

end.

 

 

Тема

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

Ч.II. Технология ADO, доступ к Access

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

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

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

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

 

 

Задание 1

Создать с помощью Delphi ленточную форму (в виде списка), осуществляющую доступ к данным Access через механизм ADO и работу с полями таблицы Name1 (Физическое лицо) ранее созданной базы данных Employee1 (см. упражнения ПрактичИС_02_01).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: