Re-utilisation d'une chaîne de connexion dans une autre Form [Résolu]

Signaler
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
-
Moundir76
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
-
Bonjour,

J'aurais une question qui va peut être vous paraitre bête. A partir d'une chaine de connexion dans mon programme comme :

Dim MaConnection As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\MaBado.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True")


Peut on utiliser cette chaîne dans les autres Forms de mon programme ? car pour chaque Form je fais un copier coller de cette chaîne de connexion. Il y a peut être plus optimisé ?
Car je souhaiterais laisser le choix à l'utilisateur pour la BDD à attaquer, et si je fais ca, je dois demander a l'utilisateur le choix a chaque nouvelle Form qui va s'ouvrir.

Cordialement

12 réponses

Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
Je pense qu'il faut que tu ajoutes un module et que tu déclare ta variable en "global". Ansis tous les from pourrons voir et modifier la variable.
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
Oups !! Je voulais dir Public ChaineDeCnx As String = "Machainedeconnexion"
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Merci, donc ce n'est pas une "erreur" de faire copier colelr dans toutes mes forms

Car je ne comprends pas ta solution avec le global.

Merci quand même pour ton aide
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

AddHandler .MouseClick, AddressOf e.ToString
Fonctionne

Ton code est très intéressant et je te remercie beaucoup mais existe il un propriété pour que les boutons ne sortent pas de la forme et qu'ils aillent a la ligne ?

Encore un grand merci à toi qui a vraiment compris ce que je voulais faire !
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
J'ai peut-être répondu à coté sorry. Tu dis "Peut on utiliser cette chaîne dans les autres Forms de mon programme ? " Donc tu veux pouvoir te connecter via des autre form?.

Si oui alors utiliser un module et mais ton code de connection dedans.

Ansi toues les forms pourrons appeler la fonction ou sub de connexion.

"je souhaiterais laisser le choix à l'utilisateur pour la BDD à attaquer" tu adaptera le paramètre de ta fonction de connexion au choix de l'utilisateur.

Si par la suite la MaConnection doit être modifier ou utiliser utiliser sur d'autre Form alors déclare là en global ( ou externe je rappelle en .NET je sais plus trop).
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Sincèrement désolé, j'ai répondu au mauvais topic ...
Merci pour ton astuce, je n'ai jamais utilisé de module donc je vais essayer de me renseigner avec le MSDN.
Tu as bien compris, mon but est d'avoir la chaine de connexion a un endroit pour éviter de copier coller dans toutes les formes, et ainsi si un jour on change l'emplacement de la chaîne de connexion alors toutes les Forms auront la nouvelle chaine.

Merci je te dis si j'ai réussi !
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Voila, afin de remplacer la chaine de connexion, j'ai créée un module dans lequel j'ai declaré un Const C as String ="Machainedeconnexion.............."

Et ainsi dans chaque forme j'utilise ma variable C.

Je ne sais pas si Const est très approprié mais je n'ai trouvé que ça.

Merci !
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
Non Const n'est pas approprié pour ton cas. Comme tu veux que C soit visible dans toutes les form tu dois utiliser global (ou externe ou public). Là C n'est visible que dans le module. Une fois que tu aura mis la bonne déclaration fais de MsgBox sur les form et regarde si elle te retourne toutes la même valeur.
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Avec
Public Const ChaineDeCnx As String = "Machainedeconnexion............"


J'arrive bien a accéder a ma variable dans mes autres formes. C'est au niveau du Const que je ne sais pas quoi mettre, j'ai mis ça en essayant plusieurs choses différentes proposées par VB
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
La ligne t'elle quelle dit que tout le monde peut lire "ChaineDeCnx" mais personne ne peut la modifier.

Donc tu fais mieux de mettre Public String ChaineDeCnx ansis tout le monde peut voir et modifier.
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

MErci pour cette précision mais j'avais essayé avec String mais cela me souligne String et en remarque j'ai "Mot clé non valide en tant qu'identificateur" ...
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Exact, je n'avais pas non plus vu l'inversion alors que je l'ecris 50 fois par jour lol

Un grand merci pour ton aide, maintenant je sais utiliser un module !