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