http://alpha-thema-online.uv.ro
Fa-ti si tu propriul forum, pe www.myforum.ro!
Pagina de start a forumului http://alpha-thema-online.uv.ro Autentificare Inregistrare FAQ Membri Cautare

Pagina de start a forumului http://alpha-thema-online.uv.ro » Visual Studio » Program simplu cu baza de date Access VB
Creaza un subiect nou  Raspunde la subiect Subiectul anterior :: Subiectul urmator 
Program simplu cu baza de date Access VB
MesajTrimis: 19/07/2007 17:24 Raspunde cu citat (quote)
Ad_Infinitum
Administrator
Administrator
Ad_Infinitum
Data inscrierii: 23/Iun/2007
Mesaje: 212




Unul dintre primele lucruri care le incearca lumea cu VB este conectarea la o baza de date. Lucrurile nu sint complicate insa daca se greseste ceva sau nu se intelege procesul poate dura destul de mult pt. aflarea raspunsului si corectarea greselii.

Intii de toate pentru absolut orice conectare la o baza de date aveti trebuință de ADO (ActiveX Data Objects). Aceasta este o librarie care vine cu VB (sau mai întocmai Visual Studio), insa este foarte probabil sa existe versiuni mai noi. Cele mai frecvente versiuni sint ADO 2.5, 2.6, 2.7. Pt. upgrade se poate face download de pe site-ul Microsoft.

Indiferent ce versiune aveti trebuie intii facuta o referinta la aceasta librarie (intr-un proiect nou, de regula Standard Exe). Din meniul Projects -> References ... bifati in lista Microsoft ActiveX Data Objects 2.6 Library, de exemplu.

Apoi adaugati un buton la care scrieti:

Private Sub Command1_Click()
Dim conexiune As ADODB.Connection
Set conexiune = New ADODB.Connection
conexiune.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:caletabela.mdb;" & _
"User Id=admin;" & _
"Password="
MsgBox IIf(conexiune.State = 1, "Conexiune deschisa", "Nu a deschis conexiunea")
conexiune.Close
Set conexiune = Nothing
End Sub

Ar trebui sa primiti mesajul "Conexiune deschisa" cind apasati pe buton la rularea programului. Nu uitati sa inclocuiti calea catre *.mdb-ul dvs., creat inainte cu MS Access.

Acest exemplu deschide doar conexiune la baza de date si apoi o inchide la loc. Pentru a face o selectie in baza de date avem necesitate de inca un obiect: ADODB.Recordset. Programul ar putea arata asa (a fost adaugata doat fracțiune despre Recordset):

Private Sub Command1_Click()
Dim conexiune As ADODB.Connection
Set conexiune = New ADODB.Connection
conexiune.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:caletabela.mdb;" & _
"User Id=admin;" & _
"Password="
MsgBox IIf(conexiune.State = 1, "Conexiune deschisa", "Nu a deschis conexiunea")

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "SELECT TOP 1 * FROM Tabela", conexiune, adOpenForwardOnly
If rs.EOF Then
MsgBox "Tabela e goala"
Else
MsgBox rs(0)
End If
rs.Close
Set rs = Nothing
conexiune.Close
Set conexiune = Nothing
End Sub

Acest cod deschide intii conexiunea apoi creaza un obiect Recordset si interogheaza tabela 'Tabela' luind debutantul record cu o comanda SQL. Daca tabela e goala (nu a fost returnat nimic) se afiseaza 'Tabela e goala' altfel o sa afiseze valoarea primului cimp. Se poate utiliza atit sub forma rs(0) sau rs(1) dar si ca rs("nume_cimp") sau chiar rs!nume_cimp.

In final inchide atit Recordsetul care tine recordurile luate din tabela cit si conexiunea la baza de date si apoi elibereaza memoria ocupata (Set obiect = Nothing).

In aceste exemple am utilizat obiecte locale de acces a bazei de date sau inregistrarilor. Se poate insa muta Dim conexiune As ADODB.Connection in afara procedurii si obiectul nu va fi doar local. Adica se poate deschide o conexiune la inceputul programului si pastra pina la sfirsit. In cazul de mai sus o sa fie distrus la terminarea procedurii.

Mai numeroase detalii cu lucrul cu baze de date o sa fie prezentate in articolele urmatoare cind vom intra in alte amanunte: cum se poate modifica o tabela, cum se poate parcurge o multime de recorduri returnate, cum se poate conecta la un MS SQL Server, cum se deschid tabele cu parola sau multe altele.
Vezi profilul utilizatorului Trimite mesaj privat

Program simplu cu baza de date Access VB
 Pagina de start a forumului http://alpha-thema-online.uv.ro » Visual Studio
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore  
Pagina 1 din 1  

  
  
 Creaza un subiect nou  Raspunde la subiect  


Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
    Powered by phpBB © 2001-2004 phpBB Group. phpBB Skin by Vjacheslav Trushkin.