Example - Selecting data

Top  Previous  Next

このサンプルはdeptテーブルから全てのdepartmentを選択します。シンプルなselect命令と共にTOracleQueryを使います。Executeメソッドを読んだ後、最初の列は自動でフェッチされFieldメソッドでアクセス出来ます。Eof, までNext メソッドを呼ぶことで、全てのレコードを取得出来ます。TstringGridを満たすために、次のループが使われます:

// SelectQuery.SQL = select * from dept

//                   order by deptno

with SelectQuery do

try

Execute;

Row := 1;

// Fill the grid

while not Eof do

begin

   DeptGrid.Cells[0, Row] := Field('DEPTNO');

   DeptGrid.Cells[1, Row] := Field('DNAME');

   DeptGrid.Cells[2, Row] := Field('LOC');

   Inc(Row);

   Next;

end;

except

on E:EOracleError do ShowMessage(E.Message);

end;

 

Field関数はデータベース内の型に共通点を持つ型の変数を返すことを覚えておいてください:

Varchar                String

Number(s, p)                Integer もしスケールと精度が許すなら。だめならdouble

Date                TDateTime

Char                String

Rowid                String

Raw                String, hex formatに変換される

Long                String

Long raw                Variant array of bytes

バリアントの美点は、Delphiがプログラムで必要とされるデータ型に変換しようとするところです。それゆえ、integer表現のField('DEPTNO')Stringに型キャストする必要がありません。バリアントに関する詳しい情報は、Object Pascal Language Guideの該当するセクションを参照して下さい。