Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Domeniul inregistrarilor in BD

baze de date



+ Font mai mare | - Font mai mic



Domeniul inregistrarilor

Exista comenzi in FoxPro care actioneaza asupra mai multor inregistrari ale unei baze de date. Selectarea acestora se face specificand in comanda conditia de selectare, cu ajutorul careia, din multimea totala a inregistrarilor se aleg doar acelea care respecta conditia respectiva. Multimea inregistrarilor selectate formeaza domeniul inregistrarilor la care se refera comanda. Domeniul inregistrarilor se specifica prin clauzele "domeniu", FOR si WHILE incluse optional in comanda respectiva.



Clauza domeniu se va inlocui cu una din urmatoarele constructii in functie de necesitati:

ALL selecteaza toate inregistrarile din baza de date

NEXT expN se refera la urmatoarele expN inregistrari, incepand de la inregistrarea curenta, inclusiv

RECORD expN actioneaza numai asupra inregistrarii cu numarul expN

REST selecteaza inregistrarile incepeand de la cea curenta, inclusiv, si pana la sfarsitul bazei de date

FOR expL    se foloseste pentru selectarea inregistrarilor in functie de o conditie logica expL. Se selecteaza acele inregistrari pentru care expL este adevarata.

WHILE expL selecteaza acele inregistrari care respecta conditia logica, si intrerupe testarea inregistrarilor cand gaseste o inregistrare ce nu respecta conditia data.

Obs: Daca se specifica ambele clauze for si while prima care conteaza este clauza while. Clauza for are o viteza de prelucrare foarte mare, de aceea este recomandata folosirea ei oricand este posibil.

Adaugarea de inregistrari la o baza de date

Adaugarea de inregistrari se poate face in doua moduri, in functie de pozitia pe care o va ocupa noua inregistrare in baza de date

adaugarea de inregistrari noi la sfarsitul bazei de date

introducerea de inregistrari noi in interiorul bazei de date.

Prima metoda se realizeaza cu comenzile: append, append from si append from array

La comanda APPEND informatiile sunt furnizate de utilizator, in mod intereactiv

Comanda APPEND FROM se foloseste cand informatiile sunt luate dintr-o alta baza de date sau alt fisier.

Comanda APPEND FROM ARRAY preia informatiile dintr-un masiv si le introduce in baza de date

Comanda APPEND adauga inregistrari la sfarsitul unei baze de date deschisa in zona de lucru curenta si are sintaxa:

APPEND [BLANK]

Comanda append fara clauza blank determina deschiderea unei ferestre de editare in care utilizatorul poate introduce, informatiile inregistrarii. Dupa introducerea ultimului camp se sare la urmatoarea inregistrare ce se va adauga. Pentru a edita un camp de tip Memo cand cursorul se afla in campul respectiv se apasa combinatia de taste CTRL+PGDN (CTRL+HOME) dupa care se intra intr-o fereastra de editare a campului memo. Iesirea cu salvare din aceasta fereastra se face cu CTRL+END. Terminarea introducerii tuturor inregistrarilor se realizeaza cu CTRL+END sau CTRL+W.

Introducerea datelor in fereastra de editare corespunzatoare comenzii append este influentata de comanda SET CARRY. Aceasta comanda permite sau inhiba copierea continului inregistrarii curente in noua inregistrare creata cu append sau insert.

SET CARRY ON | OFF

SET CARRY TO [lista campuri [additive]]

Clauza ON determina copierea inregistrarii curente in cea noua pe cand clauza OFF opreste aceasta copiere. Optiunea implicita este OFF.

Cea de-a doua forma a comenzii se foloseste cand se doreste copierea numai a anumitor campuri ale inregistrarii curente, in noua inregistrare, aceste campuri fiind specificate in lista de campuri. Daca se include in comanda si optiunea additive la vechea lista de campuri se adauga si noua lista de campuri, specificata in comanda.

Prima forma a comenzii se refera la toate zonele de lucru pe cand cea de-a doua forma se refera doar la zona de lucru curenta.

Exemplu: Sa presupunem ca introducem informatii intr-o baza de date, in care unul din campuri este data curenta. In cadurl unei zile, aceasta data nu se schimba, iar introducerea in fiecare inregistrare a datei curente este ineficienta. De aceea se recomanda copierea automata a datei curente pentru fiecare noua inregistrare ce se adauga. Aceasta se realizeaza cu secventa de comenzi.

SET CARRY ON

SET CARRY TO data_intr

Iar la sfarsitul zilei se introduce secventa de comenzi :

SET CARRY TO

SET CARRY OFF

APPEND BLANK are ca efect adaugarea unei noi inregistrari blank la sfarsitul bazei de date.

APPEND FROM fisier

[FIELDS lista campuri]

[FOR ExpL]

[TYPE][DELIMITED [WITH TAB | WITH delimitator | WITH blank]

[DIP | FWZ | MOD | PDOK | RPD | SDP | SYLK | WK1 | WK2 | WK3 | WKS | WR1| WRK | XLS]

-adauga inregistrari la sfarsitul bazei de date cand continutul este preluat din alt fisier.

Fisier reprezinta numele fisierului din care se preiau inregistrarile ce se vor adauga la baza de date. Daca nu se specifica numele fisierului, trebuie specificata clauza ? utilizatorului oferindui-se astfel posibilitatea selectarii fisierului printr-o fereastra de dialog. Daca se doreste ca din baza de date fisier sa se preia doar anumite campuri se foloseste clauza FIELDS in care lista de campuri reprezinta lista campurilor ce se vor copia, separate prin virgula.

Pentru a prelua din fisier doar anumite inregistrari , se va specifica domeniul acestora prin clauza FOR.

Se foloseste clauza TYPE pentru a specifica tipul acestui fisier.

Exemplu: Din baza de date agenda.dbf vom copia in baza de date agenda_n persoanele care au telefon

CLOSE ALL

USE AGENDA_N

APPEND FROM AGENDA FIELDS nume, nascut, sex;

FOR telefon<>0

LIST

USE

Cea de-a doua metoda de adaugare a unei inregistrari noi la o baza de date o reprezinta inserarea inregistrarii in interiorul bazei de date, folosind comanda INSERT

INSERT [BEFORE] [BLANK]

Insereaza o inregistrare dupa inregistrarea curenta. Clauza BEFORE determina adaugarea unei inregistrari noi inaintea inregistrarii curente.

Exp:

Use agenda_n

Goto 2 && se pozitioneaza indicatorul de inregistrari pe inregistrarea 2

Insert before && se insereaza o noua inregistrare in pozitia 2

List

Use



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 790
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved