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

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

Поле

Тип

Размер

Информация

Fam

A

15

Фамилия

Name

A

20

Имя

Tel

A

15

Телефон

Email

A

20

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

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

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

Свойство Значение
Tablet .DataBaseName adrbook
Tablel. TableName adrbook. db
Tablel.Active True
DataSourcel.DataSet Tablel
DBGrid.Data Source DataSourcel


interface
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
{ Public declarations }
end;
var
Forml: TForml;
implementation
{$R *.dfm)
procedure TForml.FormCreate(Sender: TObject);
begin
Tablel.Active := True; // открыть базу данных
end;
// щелчок на кнопке Запрос
procedure TForml.ButtonlClick(Sender: TObject);
var
buf: string[30]; // критерий запроса
begin
buf := InputBox('Выборка информации из БД',
1 Введите фамилию и щелкните на кнопке ОК','') ;
if buf = '' then exit;
// пользователь ввел критерий запроса
with Queryl do begin
Close; // закрыть результат выполнения
// предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// формируем новый запрос
SQL.Add('SELECT Fam, Name,«Tel, Email1);
SQL.Add('FROM ":adrbook:adrbook.db" ');
SQL.Add('WHERE');
SQL.Add{ ' (Fam ='" + buf + "')');
SQL.Add('ORDER BY Fam, Name');
Open; // выполнить запрос
if RecordCount <> 0
then // отобразить результат выполнения запроса
DataSourcel.DataSet := Queryl
else
ShowMessage('В БД нет записей, удовлетворяющих1 +
#13 + 'критерию запроса.');
end;
end;
// щелчок на кнопке Все записи
procedure TForml.Button2Click(Sender: TObject);
begin
DataSourcel.DataSet := Tablel; // источник данных - таблица
end;end.