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

ryukat666 20 Messages postés mardi 12 septembre 2006Date d'inscription 4 février 2008 Dernière intervention - 20 avril 2007 à 17:48 - Dernière réponse : cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention
- 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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 avril 2007 à 10:04
3
Merci
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


 

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 avril 2007 à 10:05
3
Merci
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

 

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 20 avril 2007 à 18:35
0
Merci
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

 
Commenter la réponse de cs_Exploreur
ryukat666 20 Messages postés mardi 12 septembre 2006Date d'inscription 4 février 2008 Dernière intervention - 23 avril 2007 à 09:31
0
Merci
    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
Commenter la réponse de ryukat666
ryukat666 20 Messages postés mardi 12 septembre 2006Date d'inscription 4 février 2008 Dernière intervention - 23 avril 2007 à 10:24
0
Merci
C'est parfait, merci beaucoup! C'est exactement ce que je cherchais. Bonne continuation.
Commenter la réponse de ryukat666
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 avril 2007 à 10:31
0
Merci
De rien, au plaisir...

A+
Exploreur

 
Commenter la réponse de cs_Exploreur

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.