Cautarea inregistrarilor Īntr-o baza de date
īn cazul īn care dorim sa gasim o īnregistrare care sa satisfaca anumite conditii, putem folosi comanda locate sintaxa : locate for <expL1> [<domeniu>] [while<expL2>] Comanda cauta prima īnregistrare care respecta conditia <expL1> īn b.d. activa. Domeniul īnregistrarilor care se testeaza este dat de clauzele <domeniu> si while, domeniul implicit fiind all. Īn caz de reusita, adica la gasirea unei īnregistrari care respecta conditia <expL1>, indicatorul de īnregistrari se pozitioneaza pe īnregistrarea respectiva, functia found( ) va returna valoarea .T. iar functia eof( ) va returna valoarea .F. Īn caz contrar, indicatorul de īnregistrari va fi pozitionat dupa ultima īnregistrare (numarul total de īnregistrari +1), found( ) va returna .F. iar eof( ) va returna .T. Īntr-o b.d. pot exista mai multe īnregistrari care respecta o conditie data. Prima dintre acestea va fi gasita folosind comanda locate, urmatoarele vor fi gasite folosind comanda continue sintaxa : continue Comanda gaseste urmatoarea īnregistrare care respecta conditiile specificate īn ultima comanda locate aplicata b.d. active. Testarea reusitei sau nereusitei cautarii se face cu functiile recno(), found( ) si eof( ) Functia found( ) sintaxa : found( [<exp N>] ) este folosita pentru testarea rezultatului unei cautari īn b.d.(eventual specificata prin zona de lucru <exp N> ). Ea returneaza .T. daca s-a gasit o īnregistrare si .F. daca nu s-a gasit nici o īnregistrare care sa satisfaca conditiile impuse de locate.
| |||||||||||||||||||||||||||||||||||||