Deschiderea si inchiderea bazelor de date si a tabelelor - PoxPro
1 Deschiderea si inchiderea bazelor de date
Dupa creare bazele de date si tabelele, pentru a putea fi exploatate trebuie deschise.
Comanda folosita pentru deschiderea bazelor de date este OPEN DATABASE care are formatul general:
OPEN DATABASE [<nume_fisier> | ?]
[EXCLUSIVE | SHARED]
[NOUPDATE]
[VALIDATE]
Comanda deschide baza de date cu numele specificat. Daca se foloseste ? se deschide fereastra Open pentru a selecta o baza de date.
Clauza Exclusive este disponibila in retea admitand accesul la baza doar a utilizatorului care a deschis-o.
Clauza Shared asigura exploatarea partajata a bazei de date.
Clauza Update protejeaza baza de date deschisa impotriva modificarilor, ea putand fi doar consultata (citita).
Clauza Validate verifica daca referintele din baza deschisa sunt valide.
Exemplul 6: Sa se deschida bazele de date facultate.dbc si universitate.dbc:
OPEN DATABASE facultate
OPEN DATABASE universitate
Nota : ramane activa ultima baza de date deschisa
Inchiderea bazelor de date se realizeaza prin comanda:
CLOSE DATABASE [ALL]
Implicit comanda inchide baza de date activa. Daca se foloseste clauza All sunt inchise toate bazele de date.
Exemplul 7: Sa se inchida baza de date universitate.dbc:
CLOSE DATABASE
2 Deschiderea si inchiderea tabelelor
Intr-o sesiune de lucru pot fi deschise simultan maximum 32.767 de tabele. Pentru fiecare sistemul aloca o zona de memorie numita zona de lucru (work area) si in care se pastreaza informatiile de identificare a fiecarei tabele (nume, structura, continut). La un moment dat este activa o singura zona de lucru numita "zona curenta". Identificarea zonelor de lucru se face prin cifre de la 1 la 32.767. Din motive de compatibilitate pentru primele 10 zone de lucru pot fi folosite si literele A-J.
La deschiderea sesiunii de lucru VFP, zona 1 sau A este cea curenta. Selectarea unei alte zone de lucru se realizeaza cu comanda:
SELECT <expr_N>|<expr_C>
in care:<expr_N> - specifica numarul zonei selectate
<expr_C> - specifica aliasul tabelei ce se activeaza.
Pentru a afla care este zona de lucru curenta se foloseste functia:
SELECT([0|1])
in care : 0 - este implicit si returneaza numarul zonei de lucru curente
1 - returneaza numarul ultimei zone de lucru nefolosite
Exemplul 8:
? SELECT()
&& zona de lucru curenta este zona 1
SELECT 7 && selecteaza zona 7
SELECT SELECT() +1 && selecteaza prima zona de lucru dupa cea curenta
? SELECT()
8
? SELECT(1) && selecteaza ultima zona nefolosita
32767
Deschiderea tabelelor se realizeaza folosind comanda USE cu urmatorul format:
USE[[<nume_baza_date>.]<nume_tabel>|SQL<nume_vedere>|?][IN <nr_zona_de_lucru> | <exp_c>][ONLINE][ADMIN][AGAIN][NOREQUERY[<nr_sesine_de_date>]][NODATA] [INDEX <lista_fisier_index> | ?[ORDER [<nr_index> | IDX<nume fisier>| [TAG] <eticheta> [OF CDX<nume_fisier>][ASCENDING|DESCENDING]]]][ALIAS <alias>][EXCLUSIVE][SHARED]
[NOUPDATE]
Comanda folosita fara parametrii inchide tabela deschisa in zona de lucru curenta. Prezentam in continuare doar principalele clauze din format.
- <nume_tabel> indica numele tabelei ce va fi deschisa;
Clauza IN <nr_zona_de_lucru> | <exp_c> - determina deschiderea tabelei intr-o alta zona decat cea curenta, fara a activa fisierul;
Clauza AGAIN permite deschiderea in zone diferite a aceluiasi tabel; in absenta clauzei, la incercarea de deschidere a unei tabele deja deschisa, sistemul afiseaza mesajul "file is in use" .
Clauza ALIAS <nume_alias> permite specificarea unui nume suplimentar de identificare a tabelei ce se deschide. In absenta clauzei sistemul atribuie automat un nume alias astfel:
-numele tabelei fara extensie, pentru tabelele deschise o singura data;
-o litera A-J, pentru tabelele deschise cu AGAIN in primele zece zone de lucru, sau W11-W32767, pentru tabelele deschise in celelalte zone.
Comenzii USE ii sunt asociate si functiile USED(), DBF() si ALIAS().
Functia USED(<expr_N|<expr_C>)returneaza valoarea de adevar(.T.)sau neadevar (.F.) dupa cum zona specificata contine sau nu o tabela.
Functia DBF (<expr_N|<expr_C>) returneaza numele tabelei deschise in zona specificata; daca in zona specificata nu este deschisa o tabela, functia returneaza sirul vid.
Functia ALIAS() returneaza aliasul tabelei dintr-o zona specificata.
In cazul tuturor functiilor de mai sus, daca nu este specificata zona, se considera zona de lucru curenta.
Exemplul 9
USE student && deschide in zona curenta tabela student.dbf
USE student IN 2 AGAIN && deschide din nou tabela student
in zona 2
SELECT 3
? USED() && verifica daca zona este ocupata .F.
USE student; && deschide in zona 3 tabela
AGAIN ALIAS feaa && cu alias-ul feaa
? alas() && returneaza alias-ul
FEAA
? DBF()
|
USE && inchide tabela student.dbf
Inchiderea tabelelor se realizeaza cu una din urmatoarele comenzi:
USE && inchide tabela curenta
CLOSE BATABASE && inchide baza de date
CLOSE ALL && inchide toate fisierele
4.4.4 Vizualizarea si modificarea structurii tabelelor
Structurile tabelelor create anterior pot fi vizualizate prin comenzile
LIST | DISPLAY STRUCTURE
[IN <nr_zona_lucru> |<alias>]
[TO PRINTER [PROMPT] | TO FILE <nume_fisier>]
[NOCONSOLE]
Comenzile ofera informatii privind structura tabelei din zona curenta. Daca se foloseste clauza IN informatiile se refera la tabela deschisa in zona specificata. Implicit informatiile sunt obtinute pe ecran. Daca se doreste dirijarea lor catre o alta iesire se foloseste clauza TO. TO PRINTER asigura tiparirea structurii la imprimanta cu clauza PROMPT pot fi setati parametrii de tiparire. TO FILE salveaza structura intr-un fisier text. NOCONSOLE inhiba afisarea structurii pe ecran. Ea este recomandata impreuna cu TO PRINTER pentru a folosi tastatura si ecranul la lansarea altor comenzii, imprimanta fiind un periferic mai lent.
Modificarea structurii unei tabele se realizeaza cu comanda:
MODIFY STRUCTURE
Aceasta comanda opereaza doar asupra tabelei curente si deschide fereastra Table Designer in care este posibila efectuarea de modificari prin adaugarea de noi campuri, stergerea de campuri, modificarea numelui, lungimii si naturii campurilor, schimbarea pozitiei campurilor, modificarea indecsilor etc. Practic comanda creeaza o noua tabela prin rescrierea vechii tabele cu modificarile efectuate. Daca in tabela nu au fost incarcate articole, modificarea se realizeaza fara probleme. Altfel, trebuie avute in vedere urmatoarele:
-adaugarea unui nou camp si /sau marirea lungimii unui camp presupune un spatiu de memorie suplimentar, in absenta caruia se pierd articole din tabela;
-stergerea unui camp presupune eliminarea irecuperabila din toate articolele a datelor incarcate in el;
-modificarea naturii campurilor poate duce la pierderea de informatii daca noile tipuri nu sunt compatibile cu cele dinaintea modificarii;
-micsorarea lungimii unui camp poate duce de asemenea la pierderea informatiilor care depasesc noua lungime.
Existand riscul pierderii de informatii inaintea modificarii structurii este recomandata realizarea unei copii de siguranta a tabelei.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |