[VB6] Comment tester une connexion à une base de données?

Résolu
ryukat666 Messages postés 20 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 4 février 2008 - 20 avril 2007 à 17:48
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 23 avril 2007 à 10:31
Bonjour, en fait je voudrais faire un test de connectivité au début du programme qui me renvoie si oui ou non la connexion a pu être effectuée, et ainsi afficher une msgbox, car dans le cas présent, si la connexion n'est pas effectuée, le programme plante tout simplement. A partir de là je comptais engager un accès sur fichier texte (dans le cas où il n'y ai pas internet dans le coin par exemple, c'est pour une base de données de classement de films) . Quelqu'un pourrait-il m'aider? Merci d'avance

6 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 avril 2007 à 10:04
Salut,

Voici un petit exemple que je fait pour renvoyé via une fonction, si la connection est ok ou pas :

Dans un module :

Option Explicit

'bdMaint est le nom de mon accès
Public bdMaintAs New ADODB.Connection
 

Public Function Bln_OpenDataBase() As Boolean
   
    ' Gestion erreur
     On Error GoTo Aff_Err


    ' Choix du fournisseur ,ouverture Base de Données
    ' suivant le type de base à ouvrir, ici base Access
     ' CnxAdo.Provider = "Microsoft.jet.OLEDB.4.0"
             
    'les paramètres sont envoyés à partir de textbox
bdMaint.ConnectionString = "DSN=" & accesbd.dbname & ";host= " & accesbd.host & ";Password= " & accesbd.passwd & ";User ID=" & accesbd.user & ";database=" & accesbd.datb & ";Persist Security Info=True"
        
    ' Ouvre la connection à la base
     bdMaint.Open
    
    ' Si pas d'erreur connection ok
     Bln_OpenDataBase = True
      
    ' On sort
     Exit Function
    
    
Aff_Err:
' connection échouée suite problème
    MsgBox err.description
    Bln_OpenDataBase = False
    Err.Clear


End Function

Utilisation de la function dans ta Frm_Load :

Private Sub Form_Load()


    ' Appel de la function  
     If Bln_OpenDataBase Then
    
        ' connection ok = Bln_OpenDataBase (True)
                 
     Else

       ' connection ok = Bln_OpenDataBase (True)
     
     End if    

Donc, cette fonction te renvoie True, si la connection est éffectuée ou False si la connection à échouer.


A+
Exploreur


 
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 avril 2007 à 10:05
Euh, petite erreur de copier/coller...

Private Sub Form_Load()
    ' Appel de la function  
     If Bln_OpenDataBase Then
    
        ' connection ok = Bln_OpenDataBase (True)
                 
     Else

       ' connection échouée = Bln_OpenDataBase (False)
     
     End if    

A+
Exploreur

 
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 avril 2007 à 18:35
Salut,

Soit tu fait une fonction Boolean qui te renvoie True si connection Ok, ou False si connection Echouée...

En Ado, regarde du côté de : State, idem que la fonction et te renvois 1 si ouvert, 0 si fermée..

A+
Exploreur

 
0
ryukat666 Messages postés 20 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 4 février 2008
23 avril 2007 à 09:31
    J'ai essayé State, le problème est qu'il faut qu'il y ait eu connexion pour que ça fonctionne, or si je tente un Open en ayant un des paramètres faux, ça plante le programme.
    Je ne vois pas  du tout comment faire cette fonction Boolean dont tu parles, je n'y connais que le minimum en connection à une base...
    Mon code:

'val est le bouton de validation des paramètres
Private Sub val_Click()

'bdMaint est le nom de mon accès
Set bdMaint = New ADODB.Connection

'les paramètres sont envoyés à partir de textbox
bdMaint.ConnectionString = "DSN=" & accesbd.dbname & ";host= " & accesbd.host & ";Password= " & accesbd.passwd & ";User ID=" & accesbd.user & ";database=" & accesbd.datb & ";Persist Security Info=True"

If bdMaint.State = 1 Then

'
'Exécution de l'instruction
'

Else

    'ouverture d'une msgbox d'erreur
    reponse = MsgBox("Accès refusé. Configuration invalide.", vbCritical)

End If

End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ryukat666 Messages postés 20 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 4 février 2008
23 avril 2007 à 10:24
C'est parfait, merci beaucoup! C'est exactement ce que je cherchais. Bonne continuation.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 avril 2007 à 10:31
De rien, au plaisir...

A+
Exploreur

 
0
Rejoignez-nous