Crearea unei conexiuni ADO.NET si utilizarea DataSet in VB.NET

Databinding reprezinta caracteristica a controalelor de interfata VB.NET de extragere si afisare a datelor dintr-o sursa de date (baza de date) intr-un mod transparent pentru utilizator. Fiecare control de interfata legat de o sursa de date poseda propriile proprietati.
Legarea controalelor de interfata cu surse de date se realizeaza prin clase suport definite in mediul de programare bazat pe .NET Framework. Un exemplu in acest sens este ADO.NET (System.Data) care creeaza o conexiune la o sursa de date (baza de date).

Crearea conexiunii presupune:

  • identificarea sursei de date;
  • administrarea comunicatiei intre aplicatie si baza de date (cereri/raspunsuri);
  • administrarea datelor obtinute ca urmare a interogarii bazei de date.

Administrarea conexiunii dintre controalele de interfata VB.NET si setul de date obtinut din baza de date este realizata prin BindingSource.
Avantaje ale utilizarii datelor prin aplicatii cu interfete de acces la date:

  • usurinta in utilizarea aplicatiei fata de utilizarea unui sistem de gestiune a bazelor de date de catre utilizatorii finali;
  • asigurarea securitatii bazei de date prin restrictionarea accesului pentru utilizatorii finali;
  • asigurarea unui anumit mod de prezentare si vizualizare a datelor;
  • mentinerea integritatii datelor in vederea mentinerii caracteristicii de relevanta a acestora.

Se considera aplicatia Windows Forms destinata construirii unei baze de date cu structura creata la […].
Crearea conexiunii dintre aplicatie si baza de date presupune:

  • meniu Data, comanda Add New Data Source;
  • din fereastra aplicatiei Data Source Configuration Wizard, se selecteaza sursa de date Database;
  • se selecteaza conexiunea de date pentru baza de date Angajati.sdf;
  • se introduce denumirea conexiunii care urmeaza a fi salvata;
  • selectarea obiectelor din baza de date care sunt incluse in Dataset si introducerea denumirii DataSet; in cazul bazei de date, Angajati.sdf, sunt selectate cele doua tabele, Ang si AccesAng.

Succesiunea prezentata mai sus reprezinta pasii aplicatiei Data Source Configuration Wizard, iar optiunile si selectiile precizate sunt salvate la fiecare pas traversat al aplicatiei. Incheirea executiei aplicatiei wizard conduce la crearea DataSet, vizibil in structura proiectului VB.NET

Vizualizare AngajatiDataSet.xsd
Vizualizare AngajatiDataSet.xsd

DataSet asigura copierea in memorie a datelor extrase din sursa de date. Este o locatie temporara de stocare a datelor din baza de date, retinand toate modificarile care se opereaza asupra datelor incarcate din baza de date originala.
Vizializarea multimii de obiecte DataSet din aplicatie se efectueaza din meniul Data, comanda Show Data Sources, fiind o alta forma de reprezentare a DataSet.
In cadrul aplicatiei, se deschide formularul in modul de vizualizare Design prin aplicarea unui dublu-click de mouse pe fisierul cu denumirea formularului, implicit Form1.vb.
Aducerea unui DataSet pe formular se realizeaza astfel:

  • activare fereastra DataSources;
  • selectare tabel AccesAng;
  • selectare vizualizare DataGridView asociata tabelului;
  • aducerea DataSet pe formular prin drag&drop de mouse.

DataGridView permite vizualizarea mai multor inregistrari la un moment dat, sub forma de tabel.

Vizualizarea DataSet la executia aplicatiei
Vizualizarea DataSet la executia aplicatiei

Prin selectarea optiunii Details din meniul asociat tabelului AccesAng, se obtine o alta modalitate de vizualizare a datelor in formular, respectiv vizualizarea unei singure inregistrari la un moment dat.
Salvarea datelor in baza de date originala prin DataSet se realizeaza la apasarea butonului Save din bara de instrumente asociata obiectului DataSet.
Obiecte asociate DataSet si rolurile acestora:

  • AngajatiDataSet: permite stocarea in memorie a datelor aduse din baza de date; modificarile efectuate asupra datelor sunt realizate in acest obiect, urmand salvarea lor in sursa de date originala, respectiv baza de date Angajati.sdf;
  • AccesAngTableAdapter: stabileste modalitatea de conectare la baza de date, respectiv string-ul de conectare; administreaza popularea DataSet prin aducerea datelor din sursa de date si salvarea datelor din DataSet inapoi in baza de date originala;
  • AccesAngBindingSource: asigura conformitatea intre datele din inregistrari si continutul controalelor de interfata care prezinta aceste date rezultatul fiind corectitudinea prezentarii datelor prin controale de interfata;
  • AccesAngBindingNavigator: referinta la bara de instrumente asociata DataSet; comunica cu obiectul AccesAngTableAdapter la efectuarea de operatii pe sursa de date originala si cu AccesAngBindingSource pentru asigurarea corectitudinii continutului controalelor atunci cand se navigheaza printre inregistrarile din DataSet;
  • TableAdapterManager: permite actualizarea DataSet atunci cand exista tabele legate prin definirea de relatii.