Localizați metoda

Metoda Locate caută prima înregistrare care satisface condiția de căutare. Dacă se găsește o înregistrare, metoda o face actuală și returnează True. În caz contrar, metoda returnează False și cursorul nu schimbă poziția. Câmpul pe care se efectuează căutarea nu trebuie indexat. Cu toate acestea, dacă câmpul este indexat, metoda caută intrarea indexului, ceea ce accelerează foarte mult căutarea. Căutarea poate fi efectuată ca un câmp și pe mai multe câmpuri. Metoda are trei parametri:







funcția Localizați (const KeyFields: String; const KeyValues: Variant; Opțiuni: TLocateOptions). boolean;

Parametrul KeyFields specifică câmpul sau lista câmpurilor care sunt căutate. Dacă există mai multe câmpuri, ele sunt separate prin punct și virgulă.

Parametrul KeyValues ​​este o matrice variantă în care sunt specificate criteriile de căutare. În acest caz, prima valoare a KeyValues ​​este aliniată cu primul câmp specificat în KeyFields. Al doilea - cu al doilea, și așa mai departe.

Al treilea parametru Opțiuni vă permite să specificați câteva opțiuni de căutare:

• loCaseInsensitive - căutarea este efectuată fără a lua în considerare înălțimea literelor, care este, sunt considerate același șir de „string“, „string“ sau „șir de caractere“.

• loPartialKey - înregistrarea va satisface condiția dacă partea sa conține textul care trebuie căutat. Adică, dacă căutăm "st", atunci condiția "șir", "stație", "stagiar" etc. va satisface condiția.

• Un set gol [] indică faptul că setările de căutare sunt ignorate. Adică, șirul este căutat "așa cum este".







Exemple de utilizare a metodei Locate:

Table1.Locate ('aMmraH ^ MH ', VarArrayOf ([' Ivanov ',' Ivan ']), [loCaseInsensitive]);

După cum puteți vedea din exemplu, dacă folosiți un câmp pentru căutare, valoarea poate fi transmisă direct din componenta Editare. Dacă utilizați o listă de câmpuri, trebuie să treceți o serie de opțiuni la metoda care conține valorile pe care le căutați, câte una pentru fiecare câmp. Când instalați componenta ADOTable în clauza de utilizare, este scris modulul ADODB, care conține descrieri ale tuturor proprietăților, metodelor și evenimentelor componentei. Este de dorit să utilizați metoda în modulul în care este instalată această componentă.

Luați în considerare aplicarea acestei metode pentru un exemplu. Deschideți proiectul. Mergeți la modulul DM, unde avem componentele de acces la baza de date. Procedura de căutare este implementată în acest modul și pentru a lucra cu aceasta din alte forme, o vom descrie în secțiunea publică:

După cum puteți vedea, șirul de parametru este trecut la procedură. În ea vom da numele dorit. Dacă cursorul se află pe descrierea procedurii noastre, faceți clic pe , pentru a genera automat procedura. Procedura va avea următorul cod:

procedura TfDM.MyLocate (s: String); începe

TLichData.Locate ('Nume', s, [loPartialKey]); se încheie;

Astfel, atunci când se găsește o înregistrare adecvată, cursorul se va muta la ea.

În formularul principal, selectați componenta Editare pentru a căuta după numele de familie. Creați un eveniment onChange pentru acesta, care apare când textul din câmpul component este schimbat. În procedura creată, înregistrați apelul de căutare:

Salvați exemplul, compilați și testați rezultatele căutării. Metoda Locate se recomandă să fie utilizată ori de câte ori este posibil, deoarece întotdeauna încearcă să aplice cea mai rapidă căutare. Dacă câmpul este indexat, iar utilizarea indexului va accelera procesul de căutare, Locate folosește indexul. Dacă câmpul nu are un index, Localizați încă caută datele în cel mai rapid mod. Acest lucru face programul dvs. independent de indexuri.

Programarea bazelor de date în Delphi







Articole similare

Trimiteți-le prietenilor: