
A példa futtatása előtt módosítsa a TADOConnection osztály ConnectionString property-jének adott sztringet úgy, hogy a Northwind példaadatbázis elérhetővé váljon.
A megoldáshoz létrehozunk egy TADODataSet és egy TADOConnection osztályt. Ez utóbbival kapcsolódunk az adatbázis szerverhez.
procedure TForm1.Button1Click(Sender: TObject);
begin
ds:=TADODataSet.Create(nil);
con:=TADOConnection.Create(nil);
con.LoginPrompt:=false;
con.ConnectionString:='Provider=SQLOLEDB.1;Password=xx;Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=localhost';
Az információ kérést az OpenSchema függvény hívással végezzük. Ennek első paraméterében határozzuk meg azt, hogy most a táblákkal kapcsolatos információkra vagyunk kíváncsiak. A függvény utolsó paraméterében egy TADODataSet-et adunk meg, melyben az eredményt kapjuk.
con.OpenSchema(siTables, EmptyParam, EmptyParam, ds);
Ezt az eredményt szűrjük úgy, hogy csak az adatbázis tábláinak eredménye maradjon látható.
ds.Filter:='(TABLE_TYPE = ''TABLE'') or (TABLE_TYPE = ''VIEW'') or (TABLE_TYPE = ''SYNONYM'') or (TABLE_TYPE = ''SYSTEM TABLE'') or (TABLE_TYPE = ''ACCESS TABLE'')';
ds.Filtered:=true;
Végső lépésként egy ciklus segítségével végigmegyünk az eredményen, majd a szükséges adatokat egy ListView-ba jelenítjük meg.
with ds do begin
First;
while not EOF do begin
with ListView1.Items.Add do begin
Caption:=FieldByName('TABLE_NAME').AsString;
SubItems.Add(FieldByName('TABLE_TYPE').AsString);
end;
Next;
end;
end;
ds.Free;
con.Free;
end;