'
COPIEZ LE CODE CI-DESSOUS DANS UN MODULE DE CLASS, VOUS AVEZ ACCES AUX OBJETS DB
ET RS
Option Explicit
' msado25.tlb (Microsoft ActiveX Data Objects 2.5
Library)
' msadox.dll (Microsoft ADO Ext. 2.7 for
DLL and Security)
Public
DB
As
New ADODB.Connection
Public
RS
As
New Recordset
'
CONNEXION
Public Function DBConnect(ByVal sDBName As String, Optional ByVal sHost As String = "127.0.0.1", Optional ByVal sUser As String = "root", Optional ByVal sPassword As String = vbNullString) As
Boolean
Me.DBClose
With DB
.ConnectionString = "DRIVER={MySQL ODBC
3.51 Driver};SERVER=" & sHost & ";DATABASE=" & sDBName & ";UID=" & sUser & ";PWD=" & sPassword & ";OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384 & ";"
.CursorLocation = adUseClient
.ConnectionTimeout = 1
.CommandTimeout = 1
On Error GoTo Err_Handler
.Open
DBConnect = True
Exit Function
End With
Err_Handler:
Debug.Print "[DBConnect] " & Err.Number & " :
" & Err.Description
End Function
' FERMETURE
DB
Public Sub DBClose()
Me.DB.Cancel
If Me.DBConnected Then Me.DB.Close
End Sub
' BASE CONNECTéE ?
Public Function DBConnected() As Boolean
DBConnected = Not (Me.DB.State = adStateClosed)
End Function
'
REQUÊTE
Public Function RSExecute(ByVal sSql As String) As Boolean
If Me.DBConnected Then
Call RSClose
Me.RS.CursorLocation = adUseClient
On Local Error GoTo Err_Handler
Me.RS.Open sSql, Me.DB, adOpenDynamic, adLockOptimistic,
-1
RSExecute = True
End If
Exit Function
Err_Handler:
Debug.Print "[RSExecute] " & Err.Number & " :
" & Err.Description
End Function
' FERMETURE
RS
Private Sub RSClose()
Me.RS.Cancel
If Not (Me.RS.State = adStateClosed) Then
Me.RS.Close
End Sub
' DESTRUCTION
CLASS
Private Sub Class_Terminate()
Call RSClose: Set Me.RS = Nothing
Me.DBClose: Set Me.DB = Nothing
End Sub
<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp <