Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




DOMENIUL INREGISTRARILOR

Baze de date


DOMENIUL ÎNREGISTRĂRILOR

6.1 CLAUZELE DE DOMENIU

Exista comenzi care actioneaza asupra mai multor înregistrari ale unei b.d. Selectarea acestora se face specificând în c 131h72b omanda conditia de selectare. Multimea înregistrarilor care respecta conditia formeaza domeniul înregistrarilor la care se refera comanda respectiva. Domeniul înregistrarilor se specifica prin clauzele <domeniu>, FOR si WHILE incluse optional în comanda.



Clauza <domeniu> se va înlocui cu una din urmatoarele constructii:

ALL selecteaza toate înregistrarile din b.d.

NEXT <expN> se refera la urmatoarele <expN> înregistrari, începând     de la înregistrarea curenta inclusiv;

RECORD <expN> actioneaza numai asupra înregistrarii cu numarul     <expN>

REST selecteaza înregistrarile începând de la cea curenta inclusiv si pâna la sfârsitul b.d.

Clauza FOR:

Sintaxa: FOR <expL>

se foloseste pentru selectarea înregistrarilor în functie de o conditie logica     <expL>. Se selecteaza acele înregistrari pentru care <expL> este adevarata.

Clauza WHILE:

Sintaxa: WHILE <expL>

selecteaza înregistrarile în functie de conditia logica <expL>. Se selecteaza acele înregistrari pentru care <expL> este adevarata. Spre deosebire de clauza FOR care dupa gasirea unei înregistrari care nu respecta conditia continua cu testarea celorlalte, clauza WHILE întrerupe testarea înregistrarilor când gaseste o înregistrare ce nu respecta conditia data.

Daca se folosesc ambele clauze FOR si WHILE, prima care conteaza este clauza WHILE.

În expresia logica din clauza FOR si WHILE, trebuie sa apara o marime care sa varieze în functie de înregistrare. Aceasta trebuie sa depinda fie de numarul de înregistrare, fie de continutul acesteia.

Exercitiu: Sa se afiseze toate înregistrarile al caror nume începe cu o litera de dupa litera P.

6.2 INDICATORUL DE ÎNREGISTRĂRI

Indicatorul de înregistrari este asociat unei b.d. la deschidere si este sters la închiderea b.d. La deschiderea b.d. indicatorul de înregistrari va indica spre prima înregistrare (spre înregistrarea 1), daca ea exista.

Aflarea înregistrarii curente dintr-o b.d. (deci a continutului indicatorului de înregistrari) se face folosind functia RECNO( ).

Sintaxa: RECNO([<expN>])

Functia returneaza un rezultat numeric reprezentând numarul înregistrarii curente din b.d. deschisa în zona de lucru <expN>. Daca <expN> lipseste atunci functia se refera la b.d. activa.

Exemplu:    USE AGENDA

?RECNO( )

1

LIST NEXT 2

?RECNO( )

2

Schimbarea înregistrarii curente se realizeaza cu ajutorul cumenzilor: GOTO, SKIP.

Comanda GO sau GOTO pozitioneaza indicatorul de înregistrari pe o anumita înregistrare dintr-o b.d. (GO si GOTO sunt identice).

Sintaxa: GO | GOTO [RECORD] <expN1> [în <expN2>]

GO | GOTO TOP | BOTTOM [IN <expN2>]

Prima forma are ca efect pozitionarea indicatorului de înregistrari di b.d. sau din zona de lucru <expN2> pe înregistrarea cu numarul <expN1>.Absenta clauzei IN determina referirea la b.d. activa.

Clauza RECORD este optionala, prezenta ei neavând nici un efect; ea se introduce pentru claritatea programului.

Forma a doua a comenzii se foloseste pentru pozitionarea indicatorului de înregistrari la extremele b.d. (la începutul sau sfârsitul acesteia).

Clauza TOP se foloseste pentru pozitionarea pe prima înregistrare, pe când BOTTOM determina pozitionarea pe ultima înregistrare a b.d.

Urmatoarele comenzi sunt echivalente:

GO 1

GOTO 1

GO RECORD 1

GO TOP

GOTO TOP IN SELECTED( )

Un alt tip de deplasare cu indicatorul de înregistrari este realizat cu ajutorul comenzii SKIP. Aceasta muta indicatorul de înregistrari peste un numar de înregistrari relativ la înregistrarea curenta.

Sintaxa: SKIP [<expN1> | | <expN2>]

unde <expN1> reprezinta numarul de înregistrari peste care se sare (cu indicatorul de înregistrari). Acesta poate fi atât un numar pozitiv (se sare spre o înregistrare cu un numar de înregistrare mai mare), cât si negativ (se sare spre o înregistrare anterioara celei curente). <expN2> specifica zona de lucru în care este deschisa b.d.

Daca se sare peste ultima înregistrare a b.d., indicatorul de înregistrari va contine numarul de înregistrari din b.d.+1, iar functia EOF( ) va returna valoarea .T.; în cazul saltului înaintea primei înregistrari functia BOF( ) va returna valoarea .T.

Urmatoarele comenzi sunt echivalente:

SKIP

SKIP

SKIP IN SELECT( )

GOTO RECORD RECNO( )+1

Functiile EOF( ) si BOF( )

Sintaxa: EOF( [<expN>] )

BOF( [<expN>] )

testeaza daca indicatorul de înregistrari se afla la sfârsitul, respectiv la începutul b.d. active sau a celei specificate ca parametru.

Numarul de înregistrari dintr-o b.d. este dat de functia RECCOUNT( ).

Sintaxa: RECCOUNT( [<expN>] )

Exemplu: USE AGENDA

?RECNO( )

1

SKIP 3

?RECNO( )

4

GO TOP

?RECNO( )

1

SKIP –2

?BOF( )

.T.


Document Info


Accesari: 749
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )