Wednesday, August 10, 2011

Access et VB.Net

premièrement faire une classe connexion.vb
Pour télécharger la classe : Connection.rar

Cette classe permet de bien gérer les connexions.
Vous faites vos déclarations à un seul endroit. De plus, il est important de ne jamais laisser une connexion ouverte. Il est important de travailler en mode déconnecté.

voici un autre site web pour des exemple :http://www.homeandlearn.co.uk/NET/nets12p4.html

La classe connexion :

Imports System.Data
Imports System.Data.OleDb

Public Class connection

#Region "Constants"
Private Const PATH As String = "c:\CGSC.mdb"
#End Region

#Region "Fields"
Private _ObjetConnection As OleDbConnection
Private _ds As DataSet

#End Region

#Region "Properties"

Public Property OpenConn() As OleDbConnection

Get
'Connexion à la BD selon une PATH
_ObjetConnection = New OleDbConnection
_ObjetConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & PATH
Try
_ObjetConnection.Open()
Catch ex As Exception
'MsgBox("Impossible d'ouvrir la connexion")
End Try


Return _ObjetConnection
End Get
Set(ByVal value As OleDbConnection)

_ObjetConnection.Close()

End Set
End Property

Public Property Connect(ByVal sql As String) As DataSet
Get

Dim ObjetDataAdapter As OleDbDataAdapter

Try
Dim r As OleDbConnection
r = OpenConn
_ds = New DataSet
'Requete SQL
ObjetDataAdapter = New OleDbDataAdapter(sql, r)
'Ouverture de la BD
ObjetDataAdapter.Fill(_ds, "Nom de la BD")

OpenConn = Nothing
Catch ex As Exception
'MsgBox(ex.Message)
End Try
Return _ds
End Get
Set(ByVal value As DataSet)
_ds = value
End Set
End Property

#End Region


End Class



Deuxièmement voici un exemple de connexion à la base de données :



Imports System.Data
Imports System.Data.OleDb

Private Sub Launch()
Dim conn As New connection
Dim ds As DataSet
ds = conn.Connect("select * from TABLE")

For Each r As DataRow In ds.Tables(0).Rows

Dim query As String = "UPDATE TABLE SET CHAMPS = 'aaaa' WHERE CONDITION = '" & r("CHAMPS") & "'"

Try
'Opération de mise à jour UPDATE
Dim ole As OleDbConnection
'Connexion
ole = conn.OpenConn
Dim oledbcomm As New OleDbCommand
oledbcomm.Connection = ole
'Requete
oledbcomm.CommandText = query
oledbcomm.ExecuteNonQuery()

conn.OpenConn = Nothing

Catch ex As Exception
'voir mon erreur (selon une class msgbox custom) sinon seulement
'sans custom
'msgbox(ex.Message)
'avec Class cumtom
Dim n As New msgbox
n.Show(ex.Message)

End Try

Next

conn.Connect("") = Nothing
End Sub

No comments:

Post a Comment