Средства для работы с базами данных

Среда Kylix предоставляет набор драйверов, необходимых для работы с базами данных, которые описаны выше. Кроме того, Kylix предоставляет программисту несколько компонентов, обеспечивающих работу с базами данных. Мы их кратко рассматривали в восьмой главе книги. Попробуем рассмотреть методику использования этих средств для создания простого приложения. Для этого воспользуемся файлом примера, который поставляется вместе со средой Kylix. Его можно найти в каталоге /kylix/demos/db/fishfact/.

Итак, запустим Kylix и откроем проект Fishfaet.dpr. Данный проект представляет собой простой просмотрщик содержимого базы данных. Как вы можете видеть, он написан практически без использования кода. Есть лишь одна команда, которая активизируется при показе главной формы приложения. В листинге 15.1 представлен код главного модуля Ffactlin этого приложения.

Листинг 15.1.Модуль Ffactlin

unit Ffactlin;

interface

uses
SysUtils, Types, Classes, QGraphics, QControls, QForms, QDialogs,QExtCtrls, QDBCtrls, QStdCtrls, DB, DBClient, QGrids, QDBGrids, QButtons;

type
TForm1 = class (TForm)
Panel1: TPanel;
DBImage1: TDBImage;
DBText1: TDBText;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
Panel2: TPanel;
Label1: TLabel;
DBText2: TDBText;
Panel3: TPanel;
Panel4: TPanel;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
DBMemo1: TDBMemo;
procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var
Form1: TForm1;
implementation
{$R *.xfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

      // Указываем файл таблицы базы данных 
     ClientDataSet1.LoadFromFile('biolife.cds');
end;
end.

Внешний вид формы представлен на рис. 15.4.

15-04-1.jpg

Рис. 15.4. Форма приложения базы данных

Мы не будем вдаваться в подробности пользовательского интерфейса этого приложения. Рассмотрим лишь те особенности, которые относятся к работе с таблицей базы данных.

Итак, на форме располагаются компоненты DataSource1 и ClientDataSet1. Первый компонент обеспечивает взаимосвязь между компонентом ClientDataSet1 и компонентами, отображающими данные. Компонент ClientDataSet1 нужен для указания имени файла таблицы, из которой будут браться записи. Для отображения данных, находящихся в таблице, применяются компоненты DBImage1, DBText1, DBText2, DBMemo1 и DBGrid1.

Компонент DBImage1 будет отображать картинки, содержащиеся в таблице. Для этого в его свойство DataField помещено значение Graphic, обозначающее, что будет отображаться содержимое поля с именем Graphic. Компоненты DBText1 и DBText2 служат для отображения текста (длиной не более одной строки). В их свойства DataField помещено значение CommonName, также обозначающее название поля таблицы, значение которого будет отображать компоненты. Компонент DBMemo1 предназначен для отображения нескольких строк текста и может содержать горизонтальные и вертикальные полосы прокрутки. Данные берутся из поля Notes таблицы, т. к. именно это значение указано в свойстве DataField этого компонента. Наконец, компонент DBGrid1 — самый важный компонент в данном приложении. Он отображает полную запись таблицы и с помощью него происходит перемещение по записям. Запустим приложение. В результате появится форма с заполненными компонентами (рис. 15.5).

15-04-2.jpg

Рис. 15.5. Приложение в работе

При перемещении по записям с помощью компонента DBGrid1 вы можете видеть, как изменяется содержимое компонентов. Таким образом, для просмотра данных из таблиц практически не требуется написание кода. Важным является лишь задание нужных свойств компонентов. Изучением этих свойств мы и займемся в главе 16.

Hosted by uCoz