Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Foxpro


Qdidactic » stiinta & tehnica » informatica » foxpro
Cautarea inregistrarilor intr-o baza dedate



Cautarea inregistrarilor intr-o baza dedate



Pozitionarea intr-o baza de date se poate face si prin cautarea unui anumit articol care indeplineste o conditie. Sunt mai multe posibilitati de acces rapid la o baza de date ordonata (indexata) sau nu. Vom prezenta cateva comenzi si functii pentru baze neordonate.


Comanda de cautare secventiala LOCATE:


LOCATE FOR <COND> [<domeniu>]


Se cauta primul articol care indeplineste conditia <cond> si, daca se gaseste indicatorul de inregistrare, se pozitioneaza pe articolul respectiv.

Daca nu se gaseste nici un articol care sa verifice conditia, pointerul de fisier va indica sfarsitul fisierului sau domeniului indicat prin clauza <domeniu>.


Functii de testare a succesului sau insuccesului cautarii cu LOCATE sunt:


1. FOUND ()     && intoarce .T. daca articolul a fost gasit

2. EOF () && intoarce .F. daca articolul a fost gasit


Atentie! Nu se poate folosi functia EOF() daca <domeniu> este diferit de ALL.




Comanda de continuare a cautarii urmatorului articol cu aceeasi cheie este.


CONTINUE


Comanda gaseste urmatoarea inregistrare care respecta conditia specifica in ultima comanda LOCATE aplicata asupra bazei de date-active.


Functia de cautare si pozitionare LOOKUP:


LOOKUP ( <camp1), <exp>, <camp2> [,<expc>])


Functia cauta intr-o baza de date prima aparitie a unei expresii date. In caz de reusita indicatorul de inregistrare se pozitioneaza pe inregistrarea cautata, functia returnand valoarea campului <camp1>. Daca articolul nu se gaseste, functia returneaza sirul vid; <camp2> este campul a carei valoare este cercetata, <exp> este expresia de cautat.

Exemplu: sa se gaseasca primele doua mijloace fixein folosinta din baza de date mijloacef:

CLOSE ALL

USE mijloacef

LOCATE FOR stare=.t.

? FOUND ( )

.T.

? EOF ( )

.F.

? RECNO ( )

1

CONTINUE

? FOUND ( )

.T.

? EOF ( )

.F.


? RECNO ( )

3

USE

Exemplu: sa se afiseze numele primului mijloc fix nefolosit din baza de date mijloacef.

CLOSE ALL

USE mijloacef

LIST

? LOOKUP ( denumire, .F. , stare )

?REXNO ( )

??denumire

3 Autocamion M100

USE


Comanda de salt si pozitionare:


GO [TO] <n>/TOP/BOTTOM


Comanda GOTO <n> pozitioneaza pe articolul cu numarul <n> in baza de date activa. GO TOP – pe primul articol in baza de date activa, GO BOTTOM – pe ultimul articol in baza de date activa.

Exemplu:

USE mijloacef

GOTO 2 && inregistrarea curenta va fi 2

? RECNO ( )

2

GO RECORD RECNO ( ) + 1

NOTE pozitionarea pe inregistrarea urmatoare ( inregistrarea curenta + 1 )

DISPLAY NEXT 1

GO TOP &&pozitionare pe inregistrarea 1

? RECNO ( )

1

GO BOTTOM && pozitionare pe ultima inregistrare

? RECNO ( )

4

USE

Urmatoarele instructiuni sunt echivalente ( pentru o baza de date neindexata ):

GO 1

GOTO 1

GO RECORD 1

GO TOP

GO TOPin SELECT


Comanda de avans si pozitionare


SKIP [+/-] <n>


Comanda face avansul (+) sau devansul (-) in baza de date peste <n> articole.

Observatie: Deschiderea unei baze de date se face cu pozitionarea pe primul articol.

Exemplu:

USE mijloacef

? RECNO ( )

1

SKIP 2

DISPLAY RECORD RECNO ( )

SKIP –1

?RECNO ( )


USE


Urmatoarele instructiuni sunt echivalente ( pentru o baza de date neindexata ):

SKIP

SKIP 1

SKIPin SELECT ( )

GO TO RECORD RECNO ( ) + 1



Duplicarea unei baze de date


Una din operatiile frecvent folosite in aplicatiile economice este copierea intregului continut al unei baze de date, sau o parte din el, in alt fisier. Cu aceasta ocazie se creeaza o noua baza de date care poate avea ca structura toate campurile din vechea baza de date, sau o parte din ele.


Copierea (duplicarea) unei baze de date se poate realiza prin comanda:


COPY TO <fis.dbf> [FIELDS <lista-camp>]

[<domeniu>] [FOR <conditie>][WHILE <conditie>]


Se vor copia articolele bazei de date active intr-o noua baza de date cu numele precizat in clauza TO <fis.dbf>. Clauza FIELDS enumera campurile care vor forma structura noii baze de date. Clauzele de selectie <domeniu>, FOR, WHILE permit preluarea partiala a articolelor. Daca exista un fisier baza de date cu numele dat in clauza TO, se cere acordul de suprascriere.


Exemplu

use mijloacef && obtinem exact aceleasi date in doua fisiere

copy to manevra

copy to manevra fields denumire for stare=.t.

&& se va crea o manevra cu mijloacele fixe existente





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright