Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Примеры и задачи.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.66 Mб
Скачать

216 Часть 1

Базы данных Общие замечания

Приступая к решению задач этого раздела, необходимо вспом-1 нить:

  • Для того чтобы программа могла работать с базой данных, на компьютере должен быть установлен процессор баз данных щ Borland Database Engine (BDE). На компьютер программисте BDE устанавливается в процессе установки Delphi.

  • Создать базу данных (таблицу данных) и наполнить ее ин-| формацией можно при помощи утилиты Database Desktop, которая входит в состав Delphi.

  • Перед тем как приступить к созданию таблицы данных, надо! создать псевдоним (Alias) базы данных. Сделать это можно при помощи утилиты BDE Administrator или SQL ExploreB Обе эти утилиты входят в состав Delphi.

  • Для того чтобы перенести программу работы с базой данных на другой компьютер, надо создать установочный CD. Для решения этой задачи Borland рекомендует использовать упИ литу InstallShield Express, которая поставляется вместе ■ Delphi.

Примеры и задачи

217

Таблица 1.1 (окончание)

Поле

Тип

Размер

Информация

Note Photo

А А

255 12

Краткая историческая справка Файл иллюстрации

Р ис. 1.72. Окно программы работы с базой данных "Архитектурные памятники Санкт-Петербурга"

64. Напишите программу работы с локальной базой данньйй "Архитектурные памятники Санкт-Петербурга" (рис. 1.72).

Для создания базы данных используйте утилиту Database Desktop, для создания псевдонима— SQL Explorer или BDE Administrator. Характеристики полей записей базы данных прит ведены в табл. 1.1, форма программы — на рис. 1.73.

Таблица 1.1. Поля записей базы данных "Архитектурные памятники Санкт-Петербурга" \

Поле т ип Размер Информация

M onument A 60 Название памятника

Architect A 40 Архитектор

Рис. 1.73. Форма программы работы с базой данных "Архитектурные памятники Санкт-Петербурга"

220

Часть 1

задачи

221

// нажатие клавиши в поле Фото

procedure TForml.DBEdit3KeyPress(Sender: TObject; var Key: Char);

begin

if (key = #13) then

if Forml.DBEdit3.Text <> ''

then ShowFoto(Forml.DBEdit3.Text) // показать

// иллюстрацию \

else forml.Imagel.Visible:=False; end;

// щелчок на компоненте Навигатор

procedure TForml.DBNavigatorlClick(Sender: TObject;

Button: TNavigateBtn);

begin

case Button of

nblnsert: begin // добавить запись

Imagel.Visible:=False; // скрыть область

// вывода иллюстрации

DBEdit3.Visible:=True; // показать поле Фото Label4.Visible:=True; // показать метку Фото end; nbEdit: begin // редактирование записи

DBEdit3.Visible:=True; // показать поле Фото Label4.Visible:=True; // показать метку Фото end;

end;

end;

// перед тем, как открыть базу данных (таблицу) procedure TForml.TablelBeforeOpen(DataSet: TDataSet); begin,

// определить каталог, в котором находятся

// иллюстрации

BmpPath:=ExtractFilePath(ParamStr(0)) + 'data\' ; end;

end.

65. Напишите программу, при помощи которой можно создать базу данных "Архитектурные памятники Санкт-Петербурга". Вид формы программы приведен на рис. 1.74.

Р ис. 1.74. Форма программы Создать таблицу базы данных

// щелчок на кнопке Создать

procedure TForml.ButtonlClick(Sender: TObject);

begin

Queryl.DatabaseName := 'Peterburg'; I Peterburg — псевдоним базы данных, в которой будет создана таблица. } with Queryl do begin

SQL.Clear;

SQL.Add('CREATE TABLE pam (' ) ;

SQL.Add('Monument CHAR(60),');

SQL.Add('Architect CHAR(40),');

SQL.AddCNote CHAR(255) , ') ;

SQL.AddC Photo CHAR(12));');

// в процессе выполнения запроса возможны ошибки, // например нельзя создать таблицу, которая // уже есть в базе данных try

ExecSQL; // выполнить запрос

except

on E: EDBEngineError do

begin

ShowMessage('Ошибка создания таблицы БД.'+

#13 + Е.Message); Buttonl.Enabled := False; end; end; end; end;

66. Напишите программу работы с базой данных "Записная книжка". Для создания базы данных используйте утилиту Database Desktop, для создания псевдонима — SQL Explorer или

222

Примеры и задачи

223

BDE Administrator. Характеристики полей записей базы данных приведены в табл. 1.2, форма программы — на рис. 1.75.

книжка"

Поле

Таблица 1.2. Поля записей базы данных "Записная

Fam Name Tel Email

Т ип Размер Информация

A

15

A

20

A

15

A

20

Фамилия

Имя

Телефон

Адрес электронной почты

Р ис. 1.75. Форма программы Записная книжка

( Программа работы с базой данных

"Записная книжка".} unit adrbook_;

{ Сначала надо создать таблицу adrbook.db (в формате Paradox) и псевдоним adrbook. После этого нужно добавить в форму компонеты Table, DataSource, DBGrid и выполнить их настройку в соответствии с приведенной ниже таблицей.

Значение

Свойство

adrbook adrbook.db True Tablel DataSourcel

Tablet.DataBaseName Tablel. TableName Tablel.Active DataSourcel. DataSet DBGrid.DataSource

i nterface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, StdCtrls;

type

// база данных

TForml = class(TForm) Tablel: TTable; DataSourcel: TDataSource; DBGridl: TDBGrid;

// компонент отображения // базы данных DBNavigatorl: TDBNavigator; Buttonl: TButton; Button2: TButton; Queryl: TQuery;

procedure ButtonlClick(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private

{ Private declarations } public

I Public declarations } end;

var

Forml: TForml;