Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » referate » informatica
Clase utilizate in DAO

Clase utilizate in DAO


Clase utilizate in DAO

CDaoRecordset

Un obiect CDaoRecordset reprezinta un set de inregistrari selectate de la o sursa de date. Cunoscute ca "recordset", obiectele CDaoRecordset sunt disponibile in urmatoarele trei forme :

-recordset-uri de tip tabel care reprezinta o tabela dintr-o singura baza de date care poate fi examinata, ii pot fi adaugate noi inregistrari, sau sterge inregistrari.

-recordset-uri de tip dynaset care sunt rezultatul unei interogari si care fac posibila modificarea datelor. Aceste recordset-uri sunt seturi de inregistrari care pot fi examinate, pot fi adaugate noi inregistrari, sau sterge inregistrari la una sau mai multe tabele dintr-o baza de date. Recordset-urile dynaset pot contine campuri din una sau mai multe tabele.

-recordset-uri tip snapshot care sunt copii statice a unui set de inregistrari folosite pentru a gasi date sau a genera rapoarte. Aceste inregistrari pot contine un camp sau mai multe din tabele diferite, dar nu pot fi modificate.



Fiecare forma de recordset reprezinta un set fix de inregistrari deschis la un moment dat. Cand se navigheaza spre o inregistrare intr-un recordset tip tabel sau tip dynaset , se reflecta schimbarile facute dupa ce recordset-ul este deschis de alti utilizatori sau alte aplicatii. Se poate folosi CDaoRecordset direct sau se poate deriva o clasa de recordset-uri specifica aplicatiei. Astfel, se poate :

-naviga prin inregistrari.

-seta un index si observa rapid inregistrari folosind Seek (recordset-urile tip tabel doar).

-cauta inregistrari bazate pe comparatii intre siruri : '<', '<=', '=', '>=', sau '>' (dynaset si snapshot).

-modifica inregistrari si specifica un mod de locking

-filtra inregistrari pentru a constrange selectia inregistrarilor dintre cele disponibile la sursa de date.

-sortarea recordset-ului.

-parametrizarea recordset-ului pentru a personifica selectia de informatii necunoscute pana la rulare.

Clasa CDaoRecordset furnizeaza o interfata similara CRecordset. Principala diferenta consta in aceea ca clasa CDaoRecordset acceseaza datele prin DAO folosind OLE. Clasa CRecordset acceseaza un DBMS prin ODBC si un driver ODBC pentru acel DBMS.

Se poate folosi CDaoRecordset direct sau o clasa derivata din CDaoRecordset. Pentru a folosi o clasa recordset se deschide o baza de date si se construieste obiectul recordset, pasand constructorului un pointer la obiectul CDaoDatabase. Se poate de asemenea construi un obiect CDaoRecordset si lasa MFC sa creeze un obiect temporar CDaoDatabase. Apoi se apeleaza functia membru Open a recordset-ului, specificand daca obiectul este recordset tip tabel, dynaset sau snapshot. Apeland Open se selecteaza date din baza de date si se returneaza prima inregistrare.

Se folosesc membrii clasei pentru navigare si pentru navigare si modificare a datelor. Operatiile disponibile depind de tipul recordset-ului si daca acesta poate fi modificat sau doar citit - aceasta depinde de capabilitatea bazei de date sau sursei ODBC. Pentru a reimprospata inregistrarile in caz ca au fost schimbate sau adugate unele noi de la apelul Open, se apeleaza functia membru Requery. Se apeleaza functia membru Close pentru a distruge obiectul cand utilizarea lui s-a incheiat.

CDaoRecordset foloseste DFX pentru a furniza operatii de citire si modificare a datelor campurilor prin membrii siguri C++ ai CDaoRecordset sau o derivata a sa. Se poate implementa dinamic legarea coloanelor intr-o baza de date fara a folosi un mecanism DFX cu ajutorul GetFieldValue si SetFieldValue.

CDaoTableDef

Un obiect CDaoTableDef reprezinta o definitie stocata a unei tabele de baza sau o tabela atasata. Fiecare baza de date DAO intretine o colectie, numita TableDefs, care contine toate obiectele tabele de definitie DAO salvate. Se poate manipula o astfel de tabela astfel :

-se exmineaza campurile si indecsii ai oricaror tabele locale, atasate sau externe intr-o baza de date.

-se apeleaza functiile membru SeConnect si SetSourceTableName pentru tabele atasate, si functia embru RefreshLink pentru a reface conexiunile la tabelele atasate.

-se apeleaza functia membru CanUpdate pentru a se determina daca tabela poate fi modificata.

-se pot prelua sau seta conditii de validare folosind functiile membru GetValidationRule, SetValidationRule, GetValidationText si SetValidation Text.

-se foloseste functia membru Open pentru a crea obiecte tabele de tip tabel, dynaset sau snaphot.

Se folosesc definitiile de tabele pentru a lucra cu o tabela sau a crea una noua :

1.In toate cazurile, mai intai se construieste un obiect CDaoTableDef, suplinind pointerul la obiectul CDaoDatabase de care apartine tabela.

2.Apoi se procedeaza, in functie de necesitati :

-pentru a folosi o tabela existenta, se apeleaza functia membru Open, suplinind numele tabelei salvate.

-pentru a crea o noua tabela, se apeleaza functia membru a obiectului de definitie Create, furnizand numele tabelei. Se apeleaza CreateField si CreateIndex pentru a adauga campuri si indecsi la tabela.

-se apeleaza Append pentru a salva tabela prin adaugare la colectia de definitii de tabele a bazei de date.

Create pune tabela in starea deschisa, si deci dupa apelarea Create nu este nevoie de Open.

Cel mai usor mod de a crea tabele salvate este de a le crea si stoca intr-o baza de date folosind Microsoft Access.

Pentru a folosi obiectul definitie de tabela care este deja deschis sau creat, se creaza sau se deschide un obiect CDaoRecordset, specificand numele definitiei cu ajutorul dbOpenTable in parametrul nOpenType.

Dupa terminarea utilizarii obiectului definitie de tabela, se apeleaza functia membru Close pentru a distruge obiectul.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.