CATEGORII DOCUMENTE |
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
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 |
Vizualizari: 790
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved