|
TSQL602EventAction | Přehled CDK komponent | TSQL602XML |
Zjednodušená deklarace třídy:
type TSQL602ObjBrowser = class(TComponent) published property Connection : TComponent; property Application : string; property Diacritics : Boolean; // pouze do verze 8.1 public function GetObjectNames(Categ : TCategEnum; Folder : string = '') : TStringList; function GetObjects(Categ : TCategEnum; Folder : string = ''): TSQL602Objects; function IsSubFolder(Child : string; Parent : string) : Boolean; function GetDefin(Obj : TSQL602Object) : string; end;
Spojení na server pomocí TSQL602Connection nebo i TDBX602Connection.
Jméno aplikace, jejíž objekty se zjišťují
Má význam pouze pro prostředí Linuxu do verze 8.1 včetně - příznak, mají-li se jména objektů s diakritikou zobrazovat čitelně. Lepší cestou však je diakritiku ve jménech identifikátorů nepoužívat.
Metoda GetObjectNames vrací seznam jmen objektů zadané kategorie (CATEG_TABLE, CATEG_VIEW, ... - deklarované v unitě SQL602_x plus CATEG_SYSCURSOR pro seznam systémových dotazů a CATEG_SQLSERVER pro seznam registrovaných serverů), uložených v zadané složce. Pokud není složka zadána, vrací seznam všech objektů dané kategorie v aplikaci. Prostřednictvím zděděné vlastnosti TStringList.Objects[index] lze přetypováním získat objekt třídy TSQL602Object s popisem specifikovaného objektu.
type TSQL602Object = class(TObject) public property Categ : TCategEnum; // Kategorie objektu property ObjName : string[32]; // Jméno objektu property ObjNum : tobjnum; // Číslo objektu property Flags : Word; // Příznaky objektu property Folder : string[32]; // Složka property ModifTime : TDateTime; // Datum a čas poslední změny end;
Metoda GetObjects vrací seznam objektů třídy TSQL602Object, které popisují databázové objekty zadané kategorie Categ uložené v zadané složce Folder.
Metoda IsSubFolder slouží k budování stromu složek a vrací informaci, zda je složka Child potomkem složky Parent.
Metoda GetDefin vrací textovou definici objektu Obj.
do stromu objektů zabudovat seznam tabulek:
var ObjBrowser : TSQL602ObjBrowser; ... List := ObjBrowser.GetObjectNames(CATEG_TABLE); N.getFirstChild.DeleteChildren; // vymazat tabulky for i := 0 to List.Count - 1 do begin if TSQL602Object(List.Objects[i]).Flags < 129 then // ODBC tabulky nebrat TreeView1.Items.AddChild(N.getFirstChild,List.Strings[i]); end;
TSQL602EventAction | Přehled CDK komponent | TSQL602XML |