Lucrul cu bazele de date folosind dao

Lucrul cu bazele de date folosind DAO

Din ce în ce mai multe programe sunt utilizate pentru stocarea datelor de bază. Unul dintre instrumentele pentru lucrul cu bazele de date este biblioteca DAO (Data Access Objects). Despre aceasta și vor fi discutate în acest articol.






Mai întâi trebuie să conectați această bibliotecă. Pentru aceasta, selectați elementul "Biblioteca de obiecte Microsoft DAO 3.6" din meniul Project | References. Visual Basic 6.0 vine cu o versiune de bibliotecă 3.6. Dacă aveți o versiune anterioară - marcați-o, nu există diferențe speciale.
Notă: Acest articol va discuta despre lucrul cu bazele de date MS Access (* .mdb). Există și alte tipuri de baze de date, de exemplu FoxPro.

Cum se selectează datele? În primul rând, declarați variabilele.

Deschideți baza de date. Pentru a face acest lucru, apelați metoda OpenDatabase și transmiteți calea completă și numele fișierului bazei de date ca parametru. Rețineți că db este un obiect și, prin urmare, scriem cuvântul cheie Set.

Formăm șirul de interogare SQL. Să presupunem că trebuie să obținem toate câmpurile din tabelul Comenzi.

Acum deschideți înregistrarea. Pentru a face acest lucru, numim metoda OpenRecordset a obiectului db cu primul parametru - interogarea SQL. Acest obiect are alți 3 parametri opționali.
Parametrul de tip specifică tipul de înregistrare deschis. Poate lua valori ale uneia dintre aceste constante:

Obiect modificabil. Poate găsi rapid și returnează înregistrări atunci când utilizează tabele indexate.

Actualizat. Este eficient deoarece prezintă un set de referințe la datele din interogarea principală (mai degrabă decât date reale). Poate întoarce înregistrările din mai multe tabele utilizând o conexiune, chiar și atunci când aceste tabele sunt legate de mai multe baze de date. Aceste înregistrări sunt actualizate în multe cazuri.

Pot fi procesate mai rapid decât obiectele Dynaset și Table, în special pentru seturile mici de înregistrări. Poate întoarce înregistrările din mai multe tabele utilizând o conexiune. Aceste înregistrări sunt actualizate în multe cazuri.

Rulează mai repede decât obiectul Snapshot. Poate returna înregistrări din mai multe tabele utilizând uniunea.

Actualizat. Poate întoarce înregistrările din mai multe tabele utilizând o conexiune.







Valoarea implicită pentru parametrul de tip este dbOpenTable.
Parametrul opțiunilor specifică anumite caracteristici ale setului de înregistrări deschis. Poate lua o valoare constând dintr-o combinație de 11 constante.
Parametrul LockEdit (în DAO 3.5 acest parametru se numește lockedits) determină tipul de blocare a setului de înregistrări. Se poate lua una din cele 5 constante:

Folosit pentru a trece la înregistrarea anterioară.

De asemenea, proprietatile utile BOF si EOF.
BOF returnează True dacă înregistrarea curentă este înainte de prima înregistrare într-un obiect Recordset.
EOF returnează True dacă înregistrarea curentă este după ultima înregistrare din obiectul Recordset.

Înregistrarea curentă se află în clasa Fields.

În loc de Debug.Print, puteți pune în mod natural operatorul de atribuire (=)

Închideți înregistrarea și baza de date
La sfârșitul procedurii, pentru a elibera memoria de scriere

Adăugarea și editarea înregistrărilor

O tehnologie similară este folosită pentru a adăuga și a modifica înregistrările.
Când adăugați o înregistrare, deschideți setul de înregistrări.

Pentru a adăuga o intrare, utilizați metoda AddNew a obiectului Recordset.

Acum se adaugă înregistrarea și vom completa toate câmpurile pentru această intrare.

Închidem setul de înregistrări și baza de date și eliberăm memoria.

Codul care modifică intrarea este foarte asemănător cu cel precedent. Pentru a modifica înregistrarea, utilizați metoda Editare. De asemenea, trebuie să modificați interogarea SQL și să o faceți așa:

Se presupune că există un câmp ID al cărui tip este numeric, iar valoarea sa este unică pentru fiecare înregistrare. În acest caz, vom schimba înregistrarea a cărei valoare ID este de 23.

Puteți șterge înregistrarea în două moduri. Prima modalitate este de a executa o interogare SQL cu comanda DELETE. Identificați înregistrarea după ID-ul câmpului. Se presupune că valorile câmpului ID sunt unice pentru fiecare înregistrare. Ștergeți înregistrarea al cărei cod este 5.

Nu este nevoie să deschideți înregistrarea, deoarece nu este nevoie să obțineți date din baza de date. Pentru a executa interogarea, folosim metoda Execute a unui obiect Database. Are 2 parametri. Primul parametru pentru Query este șirul interogării executabile. A doua opțiune de parametru opțional este o constantă sau o combinație de constante care reflectă caracteristicile interogării executabile.

Al doilea mod de a șterge o înregistrare este să utilizați metoda de ștergere a unui obiect de tip Recordset. Această metodă șterge înregistrarea curentă. Nu are parametri.

Numărul de intrări și numărul înregistrării curente

Pentru a determina numărul de înregistrări din setul de înregistrări, utilizați proprietatea RecordCount a obiectului Recordset. Dar există o mică inconsecvență. Dacă un set de înregistrări, cum ar fi Dynaset, Snapshot sau ForwardOnly, proprietatea RecordCount va afișa numărul de înregistrări numai la atingerea ultimei înregistrări. În acest caz, trebuie să treceți imediat la sfârșitul înregistrării.

Numărul înregistrării curente este determinat utilizând proprietatea AbsolutePosition. Numărarea începe de la zero. Ie dacă înregistrarea curentă este prima, atunci AbsolutePosistion va afișa 0. Dacă înregistrarea curentă este înainte de prima sau după ultima, atunci proprietatea AbsolutePosition va afișa -1.
Proprietatea PercentPosition returnează procentajul numărului curent de înregistrare din numărul de înregistrări.

Un exemplu de colaborare cu DAO poate fi găsit aici.







Articole similare

Trimiteți-le prietenilor: