C# Problème avec la chaîne de connexion à la base de données [Résolu]

cocodu67... 3053 Messages postés jeudi 28 janvier 2010Date d'inscription 23 septembre 2018 Dernière intervention - 15 mai 2014 à 22:05 - Dernière réponse : cocodu67... 3053 Messages postés jeudi 28 janvier 2010Date d'inscription 23 septembre 2018 Dernière intervention
- 17 mai 2014 à 09:38
Bonsoir

Afin de faciliter l'utilisation de mes application j'ai créé un bouton Configuration qui ouvre une Form où se trouvent des textBox afin de renseigner divers paramètres.

Lors du clique sur le bouton Valider, le code suivant est exécuté :

http://cjoint.com/14mi/DEpv06a0dpR.htm

http://cjoint.com/14mi/DEpv1fZuZk6.htm

J'ai un problème avec ma chaîne de connexion.

public static string sIPServeurMySQL, sBD, sID, sMdp;
public static MySqlConnection maConnexion = new MySqlConnection("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");


Cela devrait fonctionner avec mon code, puisque j'attribue les valeurs avec FormAdminEleve. nom de la variable

J'ai essayé :

public static string sIPServeurMySQL, sBD="bdlycee", sID="jeremy", sMdp="iris2";
public static MySqlConnection maConnexion = new MySqlConnection("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");


et cela fonctionne alors qu'avec la première version donnée 10 lignes plus haut cela ne fonctionne pas, pourtant avec la première version les valeurs sont affectées et ça se voit lorsque je fais
MessageBox.Show("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");
avec la première version.

Directement sous le code

FormAdminEleve.sIPServeurMySQL = textBoxIPServeurMySql.Text;
FormAdminEleve.sEmplacementImages_projet = textBoxEmplacementImages_projet.Text;
FormAdminEleve.sEmplacementHistorique = textBoxEmplacementHistorique.Text;
FormAdminEleve.sEmplacementPhotos = textBoxEmplacementPhotos.Text;
FormAdminEleve.sEmplacementPhotos_temp = textBoxEmplacementPhotosTemp.Text;
FormAdminEleve.sID = textBoxIdBD.Text;
FormAdminEleve.sMdp = textBoxMdpBD.Text;


J'ai placé une MessageBox afin de voir la chaîne de caractère, au dessus c'est en affichant directement les valeurs de mes textBox et en les insérant dans la chaîne et dessous c'est en prenant les valeurs affectées aux variables de Form1 avec le code qui se trouve 5 lignes au dessus.
Vous constatez que c'est pareil : http://cjoint.com/14mi/DEqkITmyJPp.htm
(j'ai rajouté les tirets afin de séparer les 2 façons de récupérer les valeurs)

Le code de la MessageBox :

MessageBox.Show("Server=" + textBoxIPServeurMySql.Text + ";Database=" + textBoxNomBD.Text + ";Uid=" + textBoxIdBD.Text + ";Pwd=" + textBoxMdpBD.Text + ";" + "---------  Server=" + FormAdminEleve.sIPServeurMySQL + ";Database=" + FormAdminEleve.sBD + ";Uid=" + FormAdminEleve.sID + ";Pwd=" + FormAdminEleve.sMdp + ";");


J'ai alors enlevé le try catch dans une requête afin de voir ce que ça donne et ça m'a mis :

Authentication to host '' for user '' using method 'mysql_native_password' failed with message: Access denied for user ''@'fe80::9934:7035:49b2:829e%11' (using password: NO)

Comment est-ce possible alors que les valeurs affectées aux variables sont les bonnes ?

Pouvez vous m'aider à trouver mon erreur, j'ai déjà cherché plus d'une heure et j'ai tout essayé sans succès.

Merci beaucoup
Afficher la suite 

Votre réponse

3 réponses

cocodu67... 3053 Messages postés jeudi 28 janvier 2010Date d'inscription 23 septembre 2018 Dernière intervention - Modifié par cocodu67... le 16/05/2014 à 17:32
0
Merci
Puré après 3 heures j'ai enfin trouvé ... c'était simple pourtant.
En haut de ma Form1 j'ai mis un truc du genre
public static string sBD = "p", sID = "p", sIPServeurMySQL = "p", sMdp = "p";
public static MySqlConnection maConnexion = new MySqlConnection("Server=" + sIPServeurMySQL + ";Database=" + sBD + ";Uid=" + sID + ";Pwd=" + sMdp + ";");


Le soucis c'est que la création de maConnexion se fait avec les valeurs des variables présentes au lancement de l'application, si par la suite dans la Form2 (pour la configuration) je modifie la valeur des variables, elles sont bien modifiées et c'est pour ça que je n'avais rien remarqué mais maConnexion était déjà créé avec le new et la modification des valeurs de l'affectait absolument pas.

J'ai déclaré maConnexion dans la Form qui fait la configuration et je l'ai initialisé avec le new lorsque les valeurs sont affectés avec les textBox dans la configuration et voilà ça marche

En tout cas merci d'avoir cherché mais finalement c'était quand même une erreur dans le code sauf qu'elle ne générait pas de message d'erreur elle même mais empêchait simplement la connexion.

Heureusement que j'ai maintenant terminé ces foutues applications, il était temps ...
Commenter la réponse de cocodu67...
Whismeril 12111 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 octobre 2018 Dernière intervention - 16 mai 2014 à 20:06
0
Merci
Bonsoir,
sujet résolu alors?

cocodu67... 3053 Messages postés jeudi 28 janvier 2010Date d'inscription 23 septembre 2018 Dernière intervention - 17 mai 2014 à 09:38
Oups j'avais oublié^^
Commenter la réponse de Whismeril

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.