delphi.gif (306 バイト) テーブルの表示(プログラムによる)


テーブルの表示は、DBNavigatorなどのコンポーネントを使うと簡単にできますが、細かな処理を行うときは、プログラムで処理する必要があります。

次の例は、DBNavigatorの代わりにボタン(Buttonコンポーネント)を使って、DBTextコンポーネントではなく、ふつうのラベル(Labelコンポーネント)にテーブル内容を表示するものです。

 

delphi1.gif (322 バイト)

unit Main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, Db, DBTables;

type
TForm1 = class(TForm)
Table1: TTable;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
btnFirst: TButton;
btnPrior: TButton;
btnNext: TButton;
btnLast: TButton;
lblID: TLabel;
lblTitle: TLabel;
lblType: TLabel;
lblContent: TLabel;
lblDate: TLabel;
procedure FormCreate(Sender: TObject);
procedure btnFirstClick(Sender: TObject);
procedure btnPriorClick(Sender: TObject);
procedure btnNextClick(Sender: TObject);
procedure btnLastClick(Sender: TObject);
private
{ Private 宣言 }
procedure ShowThem;
public
{ Public 宣言 }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ フォームが作成されたとき }
procedure TForm1.FormCreate(Sender: TObject);
begin
  Table1.DatabaseName := 'MyDB';
  Table1.TableName := 'MyTable';
  Table1.Active := True;  // テーブルを開く
  ShowThem;
end;

{ 先頭へ移動 }
procedure TForm1.btnFirstClick(Sender: TObject);
begin
    Table1.First;
ShowThem;
end;

{ 前へ移動 }
procedure TForm1.btnPriorClick(Sender: TObject);
begin
    Table1.Prior;
ShowThem;
end;

{ 次へ移動 }
procedure TForm1.btnNextClick(Sender: TObject);
begin
    Table1.Next;
ShowThem;
end;

{ 最後へ移動 }
procedure TForm1.btnLastClick(Sender: TObject);
begin
    Table1.Last;
ShowThem;
end;

{ レコードを表示 }
procedure TForm1.ShowThem;
begin
    lblID.Caption := Table1.FieldValues['ID'];
    lblTitle.Caption := Table1.FieldValues['Title'];
    lblType.Caption := IntToStr(Table1.FieldValues['Type']);
    lblContent.Caption := Table1.FieldValues['Content'];
    lblDate.Caption := DateToStr(Table1.FieldValues['Date']);
end;

end.