HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Keresési módszerek adattáblákban


Keresés 2. rész

Példaprogram letöltése

6492 bájt

A múlt héten bemutattuk a három leggyakrabban használt keresési módszert, melyekkel egy adatbázisban kereshetünk. Ebben a cikkben a további keresési lehetőségeket vizsgáljuk meg.
A példaprogram kipróbálásához szükség van a DBDEMOS alias alatt elérhető Country.db adatbázisra.

Elsőként egy olyan eljárást mutatunk be, mellyel a megadott kulcs szerint kereshetünk úgy, hogy nem szükséges az értékeket teljes egészében megadni. A FindNearest eljárásnak paraméterként meg kell adni a keresett rekord kulcsmezőinek értékét.
Table1.FindNearest([sorsz, 'kulcs']);
Ha nem talál olyan rekordot, amely megfelel a megadott értékeknek, akkor a következő olyan rekordra áll, amely a megadott kulcs után következik. Ha például egy adatbázisban a következő kulccsal rendelkező rekordok vannak: 1, 4, 5, 7, 8, 10, és a keresett kulcs 6, akkor a 7-es rekordra fog állni.

A GotoKey függvény rápozícionálja a kurzort a megfelelő rekordra, melynek kulcsát az EditKey vagy SetKey után adtuk meg. Az alábbi példában jól látható ennek módja:
procedure TForm1.Button2Click(Sender: TObject);
begin
  with Table1 do begin
    EditKey;
    FieldByName('Name').AsString:=Edit2.Text;
    if not GotoKey then ShowMessage('Nem található a feltételnek megfelelő rekord!');
  end;
end;
Ha található a kulcsnak megfelelő rekord, akkor a függvény visszatérési értéke igaz, és rápozícionál a rekordra, ellenkező esetben a visszatérési érték hamis, és a kurzor nem mozdul. A kulcsot teljes egészében meg kell adni, részletre nem lehet ezzel a módszerrel keresni.

A GotoNearest annyiban különbözik a GotoKey-től, hogy ezzel már részletre is kereshetünk. A keresési kulcsot ugyanúgy kell megadni, mint az előző esetben. A GotoNearest egy eljárás, tehát nincs visszatérési értéke. Ha a keresett kulcsnak megfelelő rekord nem található, akkor a FindNearest eljáráshoz hasonlóan a kulcs után következő rekordra áll.

Ha nem rekordot szeretnénk keresni az adatbázisban, hanem egy mezőt, akkor erre is van lehetőség. A FindField függvény segítségével a paraméterként megadott nevű mezőt kereshetjük meg. A függvény visszatérési értéke egy TField típusú objektum, vagy ha a mező nem található, akkor nil.
var
  MyField: TField;
…
  MyField := Tabel1.FindField('Nev');
  if Assigned(MyField) then begin
…
  end;





Cikksorozat

#IDKategóriaCikk címeSorozat
1063DelphiInterbase 6 alkalmazása Delphi-ben1. rész
1072DelphiInterbase 6 alkalmazása Delphi-ben2. rész
1084DelphiInterbase 6 alkalmazása Delphi-ben3. rész
1092DelphiTIBTable komponens4. rész
1102DelphiTIBTransaction komponens5. rész
1111DelphiTIBQuery komponens6. rész
1120DelphiTIBStoredProc komponens7. rész
1128DelphiTIBDataSet komponens8. rész
1141DelphiTIBSQL komponens9. rész
1150DelphiTIBSQLMonitor komponens10. rész
1159DelphiTIBUpdateSQL komponens11. rész
1167DelphiIBEvents komponens12. rész
1177DelphiIBDatabaseInfo komponens használata13. rész
1183DelphiTIBConfigService komponens14. rész
1192DelphiTIBSecurityService komponens15. rész
1204DelphiTIBServerProperties komponens16. rész
1213DelphiTIBBackupService komponens17. rész
1222DelphiTIBRestoreService komponens18. rész
1231DelphiTIBValidationService komponens19. rész
1240DelphiTIBStatisticalService komponens20. rész
1249DelphiTIBLogService komponens21. rész
1258DelphiTIBUninstall komponens22. rész
1267DelphiInterBase Express komponenscsomag23. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 468. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |