ADO je naslednik DAO/RDO. ADO sadrži manje objekata i više svojstava, metoda (i argumenata) i događaja, u odnosu na objektne modele DAO i RDO.
Sledeći elementi predstavljaju ključne delove ADO modela:
1. Connection. Pristup izvoru podataka iz aplikacije vrši se preko objekta connection, okruženja koje je neophodno za razmenu podataka. Aplikacija može da pristupa podacima direktno (dvoslojni sistem) ili indirektno (troslojni sistem) preko posrednika kao što je Microsoft Internet Information Server.
2. Command. Komanda (command) izdata preko već uspostavljene na različite načine manipuliše izvorom podataka. Najčešće ona dodaje, briše ili ažurira podatke ili preuzima podatke za prikaz u vidu tabela.
3. Parameter. Komandi su često potrebne promenljive, parametri (parameter), koji se mogu menjati pre nego što se izda komanda. Obično se koriste za izvršavanje komandi koje se ponašaju kao funkcije
4. Recordset. Ako je komanda upit koji vraća podatke kao redove informacija u tabeli, ti redovi podataka se smeštaju lokalno u objekat Recordset object.
5. Field. Svaki red u objektu Recordset sastoji se od jednog ili više polja (field). Svako polje (kolona) ima ime, tip podatka i vrednost
6. Property. Svaki ADO objekat ima skup jedinstvenih svojstava (properties) koji ili opisuju ili kontrolišu ponašanje tog objekta.
7. CollectionADO obezbeđuje kolekcije(collections), tip objekta koji, po konvenciji, sadrži druge objekte određenog tipa.
8. EventsDogađaji (events) predstavljaju obaveštenja da će se neke operacije desiti ili da su se već odigrale.
Primer 13.- Program koji koristi ADO model :
Option Explicit
Private cn As ADODB.Connection
Private Sub UzmiPodatke()
Dim rs As New ADODB.Recordset
On Error GoTo EH
Set cn = New ADODB.Connection
cn.Open "provider=Microsoft.Jet.OLEDB.4.0;data source=" & App.Path & "\Baza.mdb;persist security info=false"
Set rs.ActiveConnection = cn
Set cn = Nothing
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.Open "FIRME", , , , adCmdTable
List1.Clear
With rs
If Not .BOF Then
.MoveFirst
End If
Do While Not .EOF
List1.AddItem !idfirme & ". " & !naziv & ", " & !adresa & ", " & !opstina
.MoveNext
Loop
End With
rs.Close
Set rs = Nothing
Set cn = Nothing
Exit Sub
EH:
rs.Close
Set rs = Nothing
Set cn = Nothing
End Sub
Private Sub DodajFirmu()
Dim rs As New ADODB.Recordset
Dim NoviNaziv As String
Dim NovaAdresa As String
Dim NovaOpstina As String
On Error GoTo EH
NoviNaziv = InputBox("UNESITE NAZIV NOVE FIRME:")
NovaAdresa = InputBox("UNESITE ADRESU:")
NovaOpstina = InputBox("UNESITE OPSTINU:")
If NoviNaziv <> "" And NovaAdresa <> "" And NovaOpstina <> "" Then
Set cn = New ADODB.Connection
cn.Open "provider=Microsoft.Jet.OLEDB.4.0;data source=" & App.Path & "\Baza.mdb;persist security info=false"
Set rs.ActiveConnection = cn
Set cn = Nothing
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.Open "FIRME", , , , adCmdTable
With rs
.AddNew
!naziv = NoviNaziv
!adresa = NovaAdresa
!opstina = NovaOpstina
.Update
End With
rs.Close
Set rs = Nothing
Set cn = Nothing
Else
MsgBox "MORATE UNETI SVE PODATKE"
End If
Exit Sub
EH:
rs.Close
Set rs = Nothing
Set cn = Nothing
End Sub
Private Sub Command1_Click()
DodajFirmu
UzmiPodatke
End Sub
Private Sub Form_Load()
UzmiPodatke
End Sub
Izgled forme za primer 13: