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