Для создания базы данных используйте утилиту Database Desktop, для создания псевдонима — SQL Explorer или BDE Administrator. Характеристики полей записей базы данных приведены в табл. 1.2, форма программы — на рис. 1.75.
Таблица 1.2. Поля записей базы данных "Записная книжка"
Поле |
Тип |
Размер |
Информация |
Fam |
A |
15 |
Фамилия |
Name |
A |
20 |
Имя |
Tel |
A |
15 |
Телефон |
|
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.