Lekce 3.04
Použití komponenty DataTable


předchozí lekce (3.03) obsah kurzu následující lekce (3.05)

Jak již bylo uvedeno, skrývá se databáze v komponentě DataTable, přes kterou s ní můžeme pracovat. Je tedy nejdůležitější komponentou pro zpracování databází. Obsahuje pouze několik vlastností, ale mnoho metod, díky kterým je možné s databází pracovat.

Nejdůležitější vlastnosti komponenty DataTable slouží pro zadání používané databáze. K tomu se používají dvě vlastnosti. Adresář, ve kterém je databáze umístěna zadáme do vlastnosti DataBaseName. Jméno konkrétní databáze zadáme potom ve vlastnosti TableName. Vlastnost DatabaseName nemusíme v případě zpracování pouze v jednom adresáři vůbec zadávat. Pokud však budete mít umístěn program v jiném adresáři než data, budete muset DatabaseName zadat. Vyhnete se tak zároveň nepříjemnostem při změně aktuálního adresáře. Databázi vybranou dialogem otevřeme například následujícím způsobem:


Jazyk KLONDAIK: if OpenDialog.Execute then begin DataTable.Active :=False; DataTable.DatabaseName:= ExtractFilePath(OpenDialog.Filename); DataTable.TableName := ExtractFileName(OpenDialog.Filename); DataTable.Active :=True; end;

Jazyk BONANZA: if OpenDialog.Execute then DataTable.Active =False DataTable.DatabaseName=_ ExtractFilePath(OpenDialog.Filename) DataTable.TableName =_ ExtractFileName(OpenDialog.Filename) DataTable.Active =True End if

Jazyk JUKON: if (OpenDialog.Execute) { DataTable1.Active = false; DataTable1.DatabaseName = ExtractFilePath(OpenDialog.Filename); DataTable1.TableName = ExtractFileName(OpenDialog.Filename); DataTable1.Active = true; }

Pokud se vám zdá výše uvedený postup zdlouhavý a složitý, můžete použít volání metody Use, která to provede vše za vás:

Jazyk KLONDAIK: if OpenDialog.Execute then begin DataTable.Use(OpenDialog.Filename); end;

Jazyk BONANZA: if OpenDialog.Execute then End if

Jazyk JUKON: if (OpenDialog.Execute) { DataTable1.Use(OpenDialog.Filename); }

Databáze se aktivuje až po nastavení vlastnosti Active na hodnotu True. U této vlastnosti si musíte dát pozor na to, že pokud máte nastaveno Active:=True, není možné provádět změnu databáze (vlastnosti DatabaseName a Tablename). Pokud máte aktivovanou databázi již při návrhu aplikace, budou data ihned viditelná a přístupná.

Pokud zpracováváte data v síti, můžete použít vlastnost Exclusive, která zadává, zda má být databáze otevřena exclusivně. To znamená, že ji ve stejném okamžiku nemůže používat jiný uživatel. Pro vlastnost Exclusive platí obdobné omezení použití jako pro vlastnost Active. Není možné změnit vlastnost Exclusive, pokud již máte databázi aktivovanou.

Pokud budete chtít databázi pouze prohlížet bez možnosti editace, můžete nastavit vlastnost ReadOnly na hodnotu True. Vyvarujete se tak zbytečným změnám v okamžiku prohlížení databáze a nebudete muset kontrolovat změnu dat u všech vizuálních komponentách přistupující k datům. Zde opět platí, že vlastnost ReadOnly je možné změnit pouze v případě, že není databáze aktivní.

Pokud je databáze indexována, můžete změnit aktivní index, podle kterého je databáze seřazena změnou vlastnosti IndexName.

Poslední dvě vlastnosti slouží ke spojení databází do relace. Jedná se o vlastnosti MasterFields a MasterSource. Podrobněji se s nimi seznámíme až v některé z následujících lekcí.


předchozí lekce (3.03) obsah kurzu následující lekce (3.05)

OZOGAN, 1 Máje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz