JET I DAO

 

Prethodna strana


 

JET

 

Jet je pogon baza podataka, nezavistan od aplikacije, koji mogu da koriste različiti programi, kao što su Microsoft Excel, Word, Access, C++, Visual Basic ... Alat koji se koristi za komunikaciju sa Jet-om je DAO (Data Access Objects). Jet je pogon baza podataka, koji omogućava set usluga, a DAO je programerski interfejs za Jet.

 

Jet je jedan od sistema za upravljanje bazama podataka (DBMS). Svi Microsoft Jet objekti smeštaju se u jednu bazu podataka sa ekstenzijom .mdb.

 

DAO

 

DAO omogućava korišćenje programskih jezika za pristup i manipulaciju bazom podataka. DAO podržava dva različita okruženja, odnosno dve vrste radnih prostora (workspace):

 

 

Microsoft Jet workspace treba koristiti onda kada treba otvoriti Microsoft Jet bazu podataka (.mdb fajl) ili neku drugu desktop ISAM bazu, ili onda kada je potrebno da se iskoriste neke prednosti Microsoft Jet-a, kao što je mogućnost pridruživanja podataka iz baza različitih formata.

 

ODBCDirect workspace koristi se kada je jednostavno potrebno da se izvrše upiti ili uskladištene procedure nad (udaljenim) serverom baze podataka, kao što je Microsoft SQL Server, ili kada su klijentskoj aplikaciji potrebne posebne mogućnosti ODBC-a, kao što je asinhrono izvršavanje upita.

 

DAO objekti

 

Svi DAO objekti izvedeni su iz objekta DBEngine. Postoji 17 različitih DAO tipova objekata. Mogu se deklarisati nove DAO objektne promenljive za svaki od tipova objekata.

 

Neki od DAO objekata :

 

Na primer, sledeći kod kreira Database objekat, Recordset objekat dynaset tipa i objekat Field:


Dim dbPrimer As Database
Dim rstPrimer As Recordset
Dim fldPrimer As Field
 
Set dbPrimer = OpenDatabase("BAZA.mdb")
Set rstPrimer = dbPrimer.OpenRecordset("Tabela", _    dbOpenDynaset)
Set fldPrimer = rstPrimer.Fields("Au_ID")

 

 

DAO kolekcije

 

Svaki DAO tip objekta, osim DBEngine, ima odgoarajuću kolekciju. Kolekcija sadrži sve postojeće objekte odgovarajućeg tipa. Na primer Recordsets kolekcija sadrži sve otvorene Recordset objekte. Neki objekat, koji je na višoj hijerarhijskoj lestvici, poseduje svaku kolekciju. Objekat Database “poseduje” kolekciju Recordsets.Izuzev objekata Connection i Error, svaki DAO objekat ima kolekciju Properties.

 

Većina DAO objekata ima default kolekcije i default svojstva. Na primer, default kolekcija objekta Recordset je kolekcija Fields, a default svojstvo objekta Field je svojstvo Value. 
Da bi se u Visual Basic programu koristio DAO, potrebno je postaviti referencu na odgovarajući objekat (u meniju opcija Project, zatim podopcija References, pa se u prozoru koji se pojavi odabere Microsoft DAO 3.6 Object Library). Zatim treba definisati promenljive:

 

Dim RadniProstor As Workspace

Dim BazaPodataka As Database

 

koje su predstavnci objekata koji se kreiraju iz DAO hijerarhije klasa. Zatim se mogu kreirati funkcije i podprogrami koji će koristiti ove promenljive.

 

Primer 12.- Program koji koristi DAO model:


Option Explicit

Dim RadniProstor As Workspace

Dim BazaPodataka As Database

 

Private Sub Command1_Click()

Dim ImeBaze As String

Dim RS As Recordset

Dim NovoIme As String

Dim NovaAdresa As String

On Error GoTo EH

 

NovoIme = Trim(InputBox("Unesite novo ime u bazu_ podataka:"))

NovaAdresa = Trim(InputBox("Unesite novu adresu_ u bazu podataka:"))

Set RadniProstor = DBEngine.Workspaces(0)

ImeBaze = App.Path & "\Baza.mdb"

Set BazaPodataka = RadniProstor.OpenDatabase(ImeBaze)

Set RS = BazaPodataka.OpenRecordset("TABELA1")

With RS

    If NovoIme <> "" And NovaAdresa <> "" Then

        .AddNew

        !IME = NovoIme

        !ADRESA = NovaAdresa

        .Update

    Else

        MsgBox "POTREBNO JE DA UNESETE_ PODATKE O IMENU I ADRESI"

        Exit Sub

    End If

End With

RS.Close

Set BazaPodataka = Nothing

Set RadniProstor = Nothing

Debug.Print "UNOS USPESAN"

UzmiPodatke

Exit Sub

 

EH:

Set BazaPodataka = Nothing

Set RadniProstor = Nothing

Debug.Print "UNOS NIJE USPEO"

End Sub

 

Private Sub Form_Load()

Debug.Print UzmiPodatke

End Sub

 

Private Function UzmiPodatke() As String

Dim ImeBaze As String

Dim RS As Recordset

On Error GoTo EH

 

Set RadniProstor = DBEngine.Workspaces(0)

ImeBaze = App.Path & "\Baza.mdb"

Set BazaPodataka = RadniProstor.OpenDatabase(ImeBaze)

Set RS = BazaPodataka.OpenRecordset("TABELA1")

With RS

    List1.Clear

    If Not .BOF Then

        .MoveFirst

    End If

    Do While Not .EOF

        List1.AddItem RS!kljuc & "   " & RS!IME &_     "   " & RS!ADRESA

        .MoveNext

    Loop

End With

RS.Close

Set BazaPodataka = Nothing

Set RadniProstor = Nothing

UzmiPodatke = "OTVARANJE BAZE USPESNO"

Exit Function

 

EH:

Set BazaPodataka = Nothing

Set RadniProstor = Nothing

UzmiPodatke = "NIJE USPELO OTVARANJE BAZE"

End Function


 

 Izgled forme za primer 12:

Primer 12.- .EXE verzija

POČETAK


Prethodna strana