U trendu

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 i preko mobilne aplikacije za Android i iPhone.