p°edchozφ lekce (3.10) | obsah kurzu | nßsledujφcφ lekce (3.12) |
DataTable.First; {skok na prvnφ zßznam databßze}
DataTable.Next; {skok na nßsledujφcφ zßznam databßze}
DataTable.Prior; {skok na p°edchozφ zßznam databßze}
DataTable.Last; {skok na poslednφ zßznam databßze}
Pro navigaci v databßzi m∙₧ete pou₧φt takΘ metody, kterΘ vychßzejφ ve svΘm
nßzvoslovφ z ji₧ znßm²ch p°φkaz∙ pro obsluhu databßzφ v databßzovΘm okn∞ (uvedeno
v syntaxi jazyka KLONDAIK):
DataTable.GoTop; {skok na prvnφ zßznam databßze}
DataTable.Skip(1); {skok na nßsledujφcφ zßznam databßze}
DataTable.Skip(-1); {skok na p°edchozφ zßznam databßze}
DataTable.GoBottom; {skok na poslednφ zßznam databßze}
Jak jste si jist∞ vÜimli, prvnφ zp∙sob je v²hodn∞jÜφ zejmΘna pokud budete prochßzet
databßzi po jednotlivΘm zßznamu, kdy se pou₧ije metoda DataTable.Skip. Podobnß
metoda je DataTable.MoveBy, kterß navφc vracφ skuteΦn² poΦet provedenΘho skoku. To
m∙₧ete vyu₧φt nap°φklad pro zjiÜt∞nφ konce databßze. Pokud stojφte na poslednφm
zßznamu a dßte DataTable.MoveBy(1), bude vrßcena nulovß hodnota.
P°i prochßzenφ databßze v cyklu m∙₧ete pou₧φt metody DataTable.Bof (indikuje
zaΦßtek databßze) a DataTable.Eof (indikuje konec databßze). Pokud budete prochßzet
celou databßzφ, m∙₧ete doΦasn∞ vypnout zobrazovßnφ dat komponentou DataGrid. Pro
vypnutφ zobrazenφ pou₧ijte metodu DataTable.DisableControls, zobrazenφ se po
ukonΦenφ cyklu znovu aktivuje metodou DataTable.EnableControls:
Jazyk KLONDAIK:
procedure TForm.Button1Click(Sender: TObject);
Var rec: integer;
begin
rec := dataTable1.Recno; {ulo₧φme Φφslo zßznamu}
ConsoleClear; {vyma₧eme textov² v²stup}
DataTable1.DisableControls; {zakß₧eme zobrazovßnφ}
DataTable1.First; {skok na prvnφ zßznam}
While not DataTable1.Eof do {do konce souboru}
begin
Writeln(DataTable1.ReadStr('NAZEV'));
DataTable1.Next; {skok na dalÜφ zßznam}
end;
DataTable1.Go(rec); {vrßtφme se na p∙vodnφ zßznam}
DataTable1.EnableControls; {povolφme zobrazovßnφ}
end;
Jazyk BONANZA:
Sub Button1Click(Sender)
rec = dataTable1.Recno 'ulo₧φme Φφslo zßznamu
ConsoleClear 'vyma₧eme textov² v²stup
DataTable1.DisableControls 'zakß₧eme zobrazovßnφ
DataTable1.First 'skok na prvnφ zßznam
Do While not DataTable1.Eof 'do konce souboru
Writeln(DataTable1.ReadStr("NAZEV"))
DataTable1.Next 'skok na dalÜφ zßznam
Loop
DataTable1.Go(rec) 'vrßtφme se na p∙vodnφ zßznam
DataTable1.EnableControls 'povolφme zobrazovßnφ
End Sub
Jazyk JUKON:
function Button1Click(Sender)
{
rec = dataTable1.Recno; //ulo₧φme Φφslo zßznamu
ConsoleClear; //vyma₧eme textov² v²stup
DataTable1.DisableControls; //zakß₧eme zobrazovßnφ
DataTable1.First; //skok na prvnφ zßznam
while (!DataTable1.Eof) //do konce souboru
{
Writeln(DataTable1.ReadStr('NAZEV'));
DataTable1.Next; //skok na dalÜφ zßznam
}
DataTable1.Go(rec); //vrßtφme se na p∙vodnφ zßznam
DataTable1.EnableControls; //povolφme zobrazovßnφ
}
V uvedenΘm p°φklad∞ jsme si nejprve ulo₧ili aktußlnφ pozici v databßzi a provedli skok
na prvnφ zßznam. V cyklu a₧ do poslednφho zßznamu jsme potom provßd∞li akce s
ka₧d²m zßznamem. Na konci jsme provedli skok na p∙vodnφ pozici v databßzi.
p°edchozφ lekce (3.10) | obsah kurzu | nßsledujφcφ lekce (3.12) |