C++Builder Personal で ADO

テーブル一覧を取得する


void __fastcall TForm1::Button1Click(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 + ";");

Variant tbls = cat.Exec(PropertyGet("Tables"));
for (int i=0;i<tbls.Exec(PropertyGet("Count"));i++)
{
Variant td = cat.Exec(PropertyGet("Tables")<<i);
AnsiString s = td.Exec(PropertyGet("Type"));
if (s == "TABLE")
ListBox1->Items->Add(td.Exec(PropertyGet("Name")));
}
}