home > OLE オートメーション > ADO >

ForNext

Only Do What Only You Can Do

08. インデックス一覧を取得する

VBScript

JScript

Perl

PHP

Python

Ruby

PowerShell

Scala

F#

C

C++

C++Builder

更新日 : 2005.12.13
void __fastcall TForm1::Button3Click(TObject *Sender)
{
    //表示用コントロールをクリア
    ListBox1->Items->Clear();
    ListBox2->Items->Clear();

    Variant cat = Variant::CreateObject("ADOX.Catalog");

    //Edit3 に mdbファイル名を入力
    cat.Exec(PropertySet("ActiveConnection")<<"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Edit3->Text + ";");

    //Edit4 に テーブル名を入力
    Variant td   = cat.Exec(PropertyGet("Tables")<<Edit4->Text);
    Variant idxs = td.Exec(Function("Indexes"));

    for (int i=0;i<idxs.Exec(PropertyGet("Count"));i++)
    {
        Variant idx = td.Exec(PropertyGet("Indexes")<<i);

        //インデックス名を ListBox1 に表示
        ListBox1->Items->Add(idx.Exec(PropertyGet("Name")));
    }
}

VC++

C#

Java

Objective-C

D

VB

VB.NET

Delphi

更新日 : 2005.12.13
procedure TForm1.Button3Click(Sender: TObject);
var
    cat: Variant;//Catalog
    tbl: Variant;//Table
    idx: Variant;//Index
    i:   Integer;
begin
    //表示用コントロールをクリア
    ListBox1.Items.Clear;
    ListBox2.Items.Clear;

    cat := CreateOleObject('ADOX.Catalog');

    //Edit3 に mdbファイル名を入力
    cat.ActiveConnection := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + Edit3.Text + ';';

    //Edit4 に テーブル名を入力
    tbl := cat.Tables[Edit4.Text];

    for i := 0 to tbl.Indexes.Count - 1 do
    begin
        idx := tbl.Indexes[i];

        //インデックス名を ListBox1 に表示
        ListBox1.Items.Add(idx.Name);
    end;
end;

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system