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

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

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

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

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

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

1. Запустить Delphi

2. Для создания нового приложения выполните команду File ► New Application (при запуске открывается по умолчанию). Компоненты доступа к данным можно поместить прямо на форму. При работе с базами данных MS Access для доступа к данным следует использовать технологию ADO. Используя вкладку ADO палитры компонентов, разместите на форме компонент TADOTable. Затем перейдите в палитре компонентов на вкладку Data Access и установите на форму компонент TdataSource, который необходим для связи набора данных ADO с компонентами визуализации данных.

3. Далее необходимо подключить к компоненту TADOTable таблицу «Sotruniki_1» базы данных Employee1.mdb. 

Выделите на форме компонент TADOTable и щелкните на кнопке с многоточием в поле ввода свойства ConnectionString в инспекторе объектов.

4. В открывшемся окне диалога ConnectionString (рис. 02.5) выберите переключатель Use Connection String и щелкните на кнопке Build.

Рис. 02.5. Окно диалога Connection String

5. На вкладке Provider открывшегося окна диалога Data Link Properties задайте вид соединения с базой данных — Microsoft Jet 4.0 OLE DB Provider (рис. 02.6).

Рис. 02.6. Задание вида соединения с базой данных

 

6. Укажите имя подключаемой базы данных в поле ввода Select or enter a database name на вкладке Connection окна диалога Data Link Properties (рис. 02.7) и щелкните на кнопке Test Connection, чтобы убедиться, что база данных подключена корректно. Закройте окна подключения базы данных (OK, OK, OK).

 

Рис. 02.7. Задание базы данных, с которой устанавливается связь

7. Далее необходимо указать используемую таблицу. Выделите на форме компонент TADOTable и в поле ввода свойства TableName в инспекторе объектов укажите имя используемой таблицы –Name_1.

 

8. Следующий этап — настройка связи источника данных с набором данных. Щелкните на компоненте TDataSource и в свойстве DataSet инспектора объектов укажите имя объекта TADOTable (по умолчанию — ADOTable1).

9. Вернитесь в палитру компонентов Data Controls и разместите на форме необходимые элементы - визуализации полей базы данных (TDBEdit) и управления(TDBNavigator). Выполните их размещение на форме и настройку. Примерный вариант размещения компонентов показан на рис. 02.8.

 

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

 

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

 

11. Для завершения процесса необходимо реализовать процедуры открытия и закрытия набора данных. Набор данных должен открываться при запуске приложения и закрываться при его завершении. Для открытия набора данных используется метод Open класса TADOTablе (команда ADOTable1.Open), для закрытия — метод Close того же класса (ADOTable.Close). Для реализации методов, необходимо записать соответствующие команды в обработчике события OnShow главной формы и в обработчике OnClose (открываются по двойному клику на поле значений соответствующего свойства объекта (в данном случае Form1). Текст модуля разработанной формы приведен в листинге 02_5.1.

 

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

 

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

Добавьте кнопку выхода из программы.

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", которую поместить в папку "Мои документы".

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

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

 


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



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