begin process at 2012 02 10 01:21:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > MODULE DE CLASSE : BASE DE DONNÉES ADODB

MODULE DE CLASSE : BASE DE DONNÉES ADODB


 Information sur la source

Note :
Aucune note
Catégorie :Base de Donnees Classé sous :adodb, classe, basededonnée Niveau :Débutant Date de création :13/10/2005 Date de mise à jour :13/12/2005 16:40:41 Vu :8 336

Auteur : acecel

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

C'est juste un petit module de classe basé sur une source sur ce site.
C'est d'un niveau débutant. Il permet de se connecter à une base de données ACCESS ou une autre en ADODB.

Source

  • Option Explicit
  • ' /// Variables pour la Connexion ADODB /////////////////////////////////////////////////////////////////////////////////////////
  • Private pdbConnection As New ADODB.Connection
  • Private pdbRecordsetADO As New ADODB.Recordset
  • ' /// variables locales de stockage des valeurs de propriétés //////////////////////////////////////////////
  • Private cTempdbPath As String 'copie locale
  • Private cTempdbType As String 'copie locale
  • Private cTempdbUser As String 'copie locale
  • Private cTempdbDriver As String 'copie locale
  • Private cTempdbPassword As String 'copie locale
  • Private cTempdbServeur As String 'copie locale
  • Private cTempdbDSN As String 'copie locale
  • Private cTempdbName As String 'copie locale
  • Public Property Let dbName(ByVal vData As String)
  • cTempdbName = vData
  • End Property
  • Public Property Get dbName() As String
  • dbName = cTempdbName
  • End Property
  • Public Property Let dbDSN(ByVal vData As String)
  • cTempdbDSN = vData
  • End Property
  • Public Property Get dbDSN() As String
  • dbDSN = cTempdbDSN
  • End Property
  • Public Property Let dbServeur(ByVal vData As String)
  • cTempdbServeur = vData
  • End Property
  • Public Property Get dbServeur() As String
  • dbServeur = cTempdbServeur
  • End Property
  • Public Property Let dbPassword(ByVal vData As String)
  • cTempdbPassword = vData
  • End Property
  • Public Property Get dbPassword() As String
  • dbPassword = cTempdbPassword
  • End Property
  • Public Property Let dbDriver(ByVal vData As String)
  • cTempdbDriver = vData
  • End Property
  • Public Property Get dbDriver() As String
  • dbDriver = cTempdbDriver
  • End Property
  • Public Property Let dbUser(ByVal vData As String)
  • cTempdbUser = vData
  • End Property
  • Public Property Get dbUser() As String
  • dbUser = cTempdbUser
  • End Property
  • Public Property Let dbType(ByVal vData As String)
  • cTempdbType = vData
  • End Property
  • Public Property Get dbType() As String
  • dbType = cTempdbType
  • End Property
  • Public Property Let dbPath(ByVal vData As String)
  • cTempdbPath = vData
  • End Property
  • Public Property Get dbPath() As String
  • dbPath = cTempdbPath
  • End Property
  • ' /// Ouverture de la Base de Données /////////////////////////////////////////////////////////////////////////
  • Public Function Connexion() As Long
  • On Error GoTo Connexion_Error
  • Select Case cTempdbType
  • Case "ACCESS"
  • pdbConnection.Provider = cTempdbDriver
  • pdbConnection.ConnectionString = cTempdbPath
  • pdbConnection.Open
  • Case "AUTRE"
  • If Len(cTempdbDSN) > 0 Then
  • pdbConnection.ConnectionString = "DSN=" & cTempdbDSN & "UID=" & cTempdbUser & ";PWD=" & cTempdbPassword & ";"
  • Else
  • pdbConnection.ConnectionString = "UID=" & cTempdbUser & ";PWD=" & cTempdbPassword & ";" & "DRIVER=" & cTempdbDriver & ";Server=" & cTempdbServeur & ";Database=" & cTempdbName & ";"
  • End If
  • pdbConnection.Open
  • End Select
  • On Error GoTo 0
  • Exit Function
  • Connexion_Error:
  • Connexion = Err.Number
  • ' MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Connexion dans Module de classe cDataBase", vbCritical
  • End Function
  • ' /// Envoi du RecordSet //////////////////////////////////////////////////////////////////////////////////////
  • Public Function OpenRecordSet(dbSQL As String, Optional dbOption) As ADODB.Recordset
  • On Error GoTo OpenRecordSet_Error
  • If dbSQL <> "" Then
  • pdbRecordsetADO.CursorLocation = adUseClient
  • pdbRecordsetADO.CursorType = adOpenDynamic
  • pdbRecordsetADO.LockType = adLockOptimistic
  • pdbRecordsetADO.Open dbSQL, pdbConnection
  • Set OpenRecordSet = pdbRecordsetADO
  • Set pdbRecordsetADO = Nothing
  • End If
  • On Error GoTo 0
  • Exit Function
  • OpenRecordSet_Error:
  • MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure OpenRecordSet dans Module de classe cDataBase", vbCritical
  • End Function
  • ' /// Exécution d'une Requête SQL /////////////////////////////////////////////////////////////////////////////
  • Public Sub Execute(dbSQL As String)
  • On Error GoTo Execute_Error
  • pdbConnection.Execute dbSQL
  • On Error GoTo 0
  • Exit Sub
  • Execute_Error:
  • MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Execute dans Module de classe cDataBase", vbCritical
  • End Sub
  • ' /// Fermeture de la connexion avec la Base de Données ///////////////////////////////////////////////////////
  • Public Sub Fermeture()
  • On Error GoTo Fermeture_Error
  • pdbConnection.Close
  • Set pdbConnection = Nothing
  • On Error GoTo 0
  • Exit Sub
  • Fermeture_Error:
  • MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Fermeture dans Module de classe cDataBase", vbCritical
  • End Sub
Option Explicit

' /// Variables pour la Connexion ADODB /////////////////////////////////////////////////////////////////////////////////////////
Private pdbConnection As New ADODB.Connection
Private pdbRecordsetADO As New ADODB.Recordset


' /// variables locales de stockage des valeurs de propriétés  //////////////////////////////////////////////
Private cTempdbPath As String 'copie locale
Private cTempdbType As String 'copie locale
Private cTempdbUser As String 'copie locale
Private cTempdbDriver As String 'copie locale
Private cTempdbPassword As String 'copie locale
Private cTempdbServeur As String 'copie locale
Private cTempdbDSN As String 'copie locale
Private cTempdbName As String 'copie locale

Public Property Let dbName(ByVal vData As String)
    cTempdbName = vData
End Property

Public Property Get dbName() As String
    dbName = cTempdbName
End Property

Public Property Let dbDSN(ByVal vData As String)
    cTempdbDSN = vData
End Property

Public Property Get dbDSN() As String
    dbDSN = cTempdbDSN
End Property

Public Property Let dbServeur(ByVal vData As String)
    cTempdbServeur = vData
End Property

Public Property Get dbServeur() As String
    dbServeur = cTempdbServeur
End Property

Public Property Let dbPassword(ByVal vData As String)
    cTempdbPassword = vData
End Property

Public Property Get dbPassword() As String
    dbPassword = cTempdbPassword
End Property

Public Property Let dbDriver(ByVal vData As String)
    cTempdbDriver = vData
End Property

Public Property Get dbDriver() As String
    dbDriver = cTempdbDriver
End Property

Public Property Let dbUser(ByVal vData As String)
    cTempdbUser = vData
End Property

Public Property Get dbUser() As String
    dbUser = cTempdbUser
End Property

Public Property Let dbType(ByVal vData As String)
    cTempdbType = vData
End Property


Public Property Get dbType() As String
    dbType = cTempdbType
End Property

Public Property Let dbPath(ByVal vData As String)
    cTempdbPath = vData
End Property


Public Property Get dbPath() As String
    dbPath = cTempdbPath
End Property





' /// Ouverture de la Base de Données /////////////////////////////////////////////////////////////////////////

Public Function Connexion() As Long
On Error GoTo Connexion_Error

    Select Case cTempdbType
        Case "ACCESS"
            pdbConnection.Provider = cTempdbDriver
            pdbConnection.ConnectionString = cTempdbPath
            pdbConnection.Open
            
        Case "AUTRE"
            If Len(cTempdbDSN) > 0 Then
                pdbConnection.ConnectionString = "DSN=" & cTempdbDSN & "UID=" & cTempdbUser & ";PWD=" & cTempdbPassword & ";"
            Else
                pdbConnection.ConnectionString = "UID=" & cTempdbUser & ";PWD=" & cTempdbPassword & ";" & "DRIVER=" & cTempdbDriver & ";Server=" & cTempdbServeur & ";Database=" & cTempdbName & ";"
            End If
            
            pdbConnection.Open
    End Select
   
    On Error GoTo 0
    Exit Function

Connexion_Error:
    Connexion = Err.Number
'    MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Connexion dans Module de classe cDataBase", vbCritical
End Function





' /// Envoi du RecordSet //////////////////////////////////////////////////////////////////////////////////////

Public Function OpenRecordSet(dbSQL As String, Optional dbOption) As ADODB.Recordset
On Error GoTo OpenRecordSet_Error

    If dbSQL <> "" Then
        pdbRecordsetADO.CursorLocation = adUseClient
        pdbRecordsetADO.CursorType = adOpenDynamic
        pdbRecordsetADO.LockType = adLockOptimistic
        pdbRecordsetADO.Open dbSQL, pdbConnection
        Set OpenRecordSet = pdbRecordsetADO
        Set pdbRecordsetADO = Nothing
    End If
    
   
    On Error GoTo 0
    Exit Function

OpenRecordSet_Error:

    MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure OpenRecordSet dans Module de classe cDataBase", vbCritical
End Function




' /// Exécution d'une Requête SQL /////////////////////////////////////////////////////////////////////////////

Public Sub Execute(dbSQL As String)
On Error GoTo Execute_Error

    pdbConnection.Execute dbSQL
   
    On Error GoTo 0
    Exit Sub

Execute_Error:

    MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Execute dans Module de classe cDataBase", vbCritical
End Sub




' /// Fermeture de la connexion avec la Base de Données ///////////////////////////////////////////////////////

Public Sub Fermeture()
On Error GoTo Fermeture_Error

    pdbConnection.Close
    Set pdbConnection = Nothing
   
    On Error GoTo 0
    Exit Sub

Fermeture_Error:

    MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Fermeture dans Module de classe cDataBase", vbCritical
End Sub




 Historique

14 octobre 2005 08:47:02 :
Petites modifications
13 décembre 2005 16:40:42 :
Toute petite modification

 Sources de la même categorie

Source avec Zip Source avec une capture BIEN ADMINISTRER LES ETUDIANTS ET LEURS CÔTES par okosa
Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source .NET (Dotnet) MISAHORAIRE par MdelM
Source avec Zip Source avec une capture BASEDEDONNEES,GESTIONDEMALADES,DATABASSE par shadkitenge

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack
Source .NET (Dotnet) STACKI - PILE par iLgend
Source avec Zip Source avec une capture [VB6 BASE DE DONNÉE] DÉMO SQL SUR TABLEAU EXCEL + DATAGRID A... par Philippe734
Source .NET (Dotnet) CLASSE .NET DE LECTURE/ÉCRITURE DANS LA BASE DE REGISTRE par NikatorS
Source avec Zip Source avec une capture Source .NET (Dotnet) CLASSE DE TRADUCTION SIMPLIFIÉE/ TRADUCTION AUTOMATIQUE D'UN... par mafieulemouton

Commentaires et avis

Commentaire de acecel le 13/10/2005 10:42:16

Dans le programme

Pour Déclarer la base :

Dim pBase as New ClsDatabase



Pour Affecter les variables (dbPath, dbDriver...) :

pBase.dbType = "ACCESS"  ou pBase.dbType = "AUTRE"
pBase.dbPath = Mon_Chemin
...



Pour Ouvrir la connexion :

pBase.Connexion



Pour Ouvrir un recordset :

Set Recordset = pBase.OpenRecordset("Select * from..")




Pour Executer une requête SQL simple :

pBase.Execute "Update ..."



Pour Fermer la connexion :

pBase.Fermeture


Commentaire de zazics le 02/12/2005 14:57:28

salut,
je pense qu'il y a une petite erreur à la ligne 90.
Ne faudrait-t-il pas retirer le  "pdbArticle" puisqu'il n'est pas connu ici.

'Select Case pdbArticle.dbType' => 'Select Case dbType'

De plus, je peux ajouter qu'il ne faut pas oublier d'aller dans le menu PROJECT -> REFERENCES et cocher la case ou il est écrit:
Microsoft ActiveX Data Objects 2.8 Library
afin que l'objet ADODB soit connu

Sinon, merci pour le code, j'en avais besoin étant donné que je suis débutant sur VB

Commentaire de acecel le 13/12/2005 16:38:08

Salut
C'est exact, il serait plus judicieux d'utiliser plutôt :
"Select Case cTempdbType "
('Select Case dbType' fait appel à la méthode Get dbType, et par conséquent il vaut mieux utiliser la variable locale cTempdbType)

Et en effet, il ne faut pas oublier non plus d'ajouter la reférence Microsoft ActiveX Data Objects 2.8 Library.

Ce module de classe est vraimment tout bête, dans l'appli que j'avais développé, il permettait juste de ne pas avoir à modifier le code du programme si l'utilisateur souhaite changer le type de la base de donnée.

J'ai aussi volontairement utilisé le même nom que les fonctions standard de ADO (Execute et OpenRecordSet) ce qui limite le nombre de modifications à effectuer dans le programme.
(déclarer la base de donnée en "New ClsDatabase" au lieu de "DataBase", déclarer les recordsets en "New ADODB.Recordset" au lieu de "Recordset", et enfin définir les paramètres de connexion à la base de donnée)


 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

VB6 ADO et Oracle [ par jchp ] BonjourJe tente de développer une classe utilisant MS ADO v2.8. Cette classe doit permettre une connexion et les quelques fonctions simplifiées de man VB6 ADO et Oracle [ par jchp ] BonjourJe tente de développer une classe utilisant MS ADO v2.8. Cette classe doit permettre une connexion et les quelques fonctions simplifiées de man ADODB mise à jour de la base [ par tiopan ] via un formulaire VB6.0 je souhaite modifier la valeur de multiples champs dans une base de données access2000. Je parviens à renseigner les valeur à URGENT "declarations et utilisation de classes" [ par nabilac ] bonjour,j'ai un pb avec les declarations et utilisation de classesen fait, j'ai une classe "C1" qui peut (contenir ou faire reference?????) a un attr AIDE AU VB ET ADODB [ par jolicoeur79 ] Bonjour,Je cherche une solution pour créer une base de donnees Access et les tables et les relation entre les tables ,si possible avec la methode ADOD vb et ADODB [ par jolicoeur79 ] salut,bonjour je veux savoir est ce que en peut creer une base de données access avec la methode ADODB et pas DAO ou autre methode en n'utilisant par comment utiliser une classe importée [ par Spiffou ] bonjour à tous,une ptite question de noob... je souhaite utiliser une classe que j'ai importée, mais je ne sais pas comment faire.en gros j'ai inséré comment utiliser une classe importée [ par Spiffou ] bonjour à tous,une ptite question de noob... je souhaite utiliser une classe que j'ai importée, mais je ne sais pas comment faire.en gros j'ai inséré


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales