Visual Basic – ADO pristup bazama podataka

ADO je programski model koji u sebi sadrลพi sve potrebne metode i aktivnosti za pristupanje bazama podataka. Prethodnica ovog modela za pristup su DAO, i joลก stariji RDO. U Visual Basic-u bazama podataka moลพete pristupiti na dva naฤina: putem ugraฤ‘enih kontrola i ฤarobnjaka uz minimalni unos koda, ili direktno putem programskog koda. Da ne bi bespotrebno okoliลกali preฤ‡iฤ‡emo na primer, gde ฤ‡emo preko programskog koda pristupiti dobro poznatoj bazi „Northwind Traders“ (Nwind.mdb), koja dolazi i sa instalacijom Access-a i sa instalacijom Visual Basic-a. Baza se nalazi u folderu u kom je instaliran Visual Basic.
Pokrenite Visual Basic i otvorite „Standard EXE“ projekt. Da bi uopลกte mogli da koristimo ADO, moraฤ‡emo dodati referencu na Microsoft ActiveX Data Objects 2.0 Library, preko menija „Project> References“. Krenuฤ‡emo sa dodavanjem dve varijable u proceduru „Form_Load()“, gde jedna predstavlja objekat „connection“ za spajanje sa bazom podataka, a druga sam Recordset u kom se ฤuvaju podaci iz tabela baze.

 Private Sub Form_Load()
Dim veza As ADODB.Connection
Dim Rs As ADODB.Recordset
End Sub

Nakon ovoga, sledi samo spajanje sa bazom podataka i otvaranje tabele „Employees“ (zaposleni). Spajanje vrลกimo putem ConnectionString-a, u kome se vrลกi definisanje drajvera (vrste baze podataka kojoj se pristupa) i naziva baze podataka:

 veza.ConnectionString = "DRIVER=Microsoft Access Driver(*.mdb);
 DBQ=Nwind.mdb"
veza.Open "Employees", veza
Do While Not Rs.EOF
List1.AddItem Rs("Last name")
Rs.MoveNext
Loop

Gornji kod ฤ‡e pristupiti bazi, otvoriti tabelu „Employees“ i izlistati sva prezimena zaposlenih. Prezimena ฤ‡e se smestiti u listu, s tim ลกto treba da na formu prethodno postavite jednu kontrolu ListBox. Iลกฤitavanja vrลกimo petljom Do…Loop, koja se izvrลกava sve dok se ne stigne do kraja Recordset-a (Rs.EOF), odnosno tabele. Polju „Last name“ (prezime) pristupamo navodeฤ‡i naziv samog polja „Rs.(„Last name“)“. U petlji treba da bude i instrukcija za prelaz na novi slog u tabeli – Rs.MoveNext, inaฤe ฤ‡emo imati beskonaฤnu petlju gde ฤ‡e se non-stop pojavljivati prvi slog. Kao ลกto moลพemo videti, objekat Recordset poseduje nekoliko vrlo korisnih metoda:

  • MoveNext – prelaz na sledeฤ‡i slog.
  • MovePrevious – prelaz na prethodni slog.
  • MoveFirst – skok na prvi slog u tabeli.
  • MoveLast – skok na poslednji slog u tabeli.
  • Move X – skok na slog ฤiji je redni broj X.

Otvaranje tabele vrลกimo metodom Open, kojom u Recordset ubacujemo sve slogove iz neke tabele ili iz nekog upita. Videli smo kako se preko ADO-a pristupa nekoj tabeli, a u narednom prilogu ฤ‡emo videti kako se vrลกi pretraลพivanje tabele.

Pratite Krstaricu na www.krstarica.com