レコードを並び替えるには
レコードを並び替えるにはインデックスを使います。インデックスはTableコンポーネントのAddIndexメソッドによって追加します。
インデックスの使い方は、データベースの種類により異なります。Paradoxの場合、
という条件があります。
インデックスを追加するには
インデックスはテーブルを構築するときに付加します。つぎにその例を示します。
例
{ テーブルを作成 }
procedure TForm1.Button1Click(Sender: TObject);
var
Table1: TTable;
begin
Table1 := TTable.Create(Self); // テーブルを動的に構築
with Table1 do
begin
try
DatabaseName := 'WorkDir';
TableType := ttParadox;
TableName := Edit1.Text;
with FieldDefs do
begin
Clear;
Add('Number', ftInteger, 0, True);
Add('Name', ftString, 20, True);
Add('Age', ftInteger, 0, True);
end;
CreateTable;
AddIndex('', 'Number', [ixPrimary]);
AddIndex('Age', 'Age', []);
finally
Free; // Tableの解放
end;
end;
end;
二次インデックスでソートするには
二次インデックスが追加されたTableコンポーネントのIndexNameをオブジェクトインスペクタでクリックすると、二次インデックスの名前がドロップダウンリストに表示されるので、適切な二次インデックスを選んでおきます。
プログラムでテーブルを開くと(Openメソッドなど)、そのインデックスで指定した順でテーブルの内容が表示できます。