ALTE DOCUMENTE
|
|||||
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.
|