Problème lors de connexion avec BD MySQL

cs_maymouta Messages postés 12 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 27 mai 2011 - 14 mai 2011 à 12:24
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 24 mai 2011 à 14:19
j'ai un problème de connection de base de données avec mes interfaces graphiques,
je développe avec DotNet et j'utilise Mysql comme BD,
voici le code pour se connecter à la BD à travers mon interface d’accueil,
ce code consiste à vérifier si le mot de passe te le login sont correcte ou non,
le problème est que lorsque je saisie un mot de passe et login erroné ou bien même si je saisie le mot de passe et le login correcte, un message d'erreur suivant s'affiche :
erreur SQL: 
access denied for user 'System.Windows.F'@'localhost'(using password : YES)


cet erreur provient du catch exception
private void valider_Click(object sender, EventArgs e)
        {
            string connectionStr = string.Empty; // déclaration d'une variable string pour mettre les paramétres de cx
            if ((log.Text.Length 0) || (motpasse.Text.Length 0))
            {
                MessageBox.Show("erreur, les champs login et mot de passe doivent être remplis", "erreur", MessageBoxButtons.OK);
            } //fin if si les champs sont vides
            else
            {
                connectionStr = "server=localhost;" + "uid=" + log + "; password=" + motpasse;//les paramétres de cx
 
                connection.ConnectionString = connectionStr;
 
                try
                {
                    connection.Open(); // on ouvre une connection avec la BD
                    MySqlCommand commande = connection.CreateCommand();
                    commande.CommandText = "select * from User where Login=log and PassWord=motpasse"; // on selectionne une requête
                    data.SelectCommand = commande; // 
                    DataSet dataset = new DataSet();// on crée un dataset 
                    data.Fill(dataset, "sample_data");// on charge le résultat de dataset dans l'ensemble de données nommé "example_data"
                    // ON charge le contenu de l'ensemble de données dans la grille
                    gridInfo.DataSource = dataset;
                    gridInfo.DataMember = "sample_data";
                    gridInfo.Dock = DockStyle.Fill;
                    this.Controls.Add(gridInfo);// la grille de population est ajoutée à la forme
                    //fermeture de la connection 
                    connection.Close();
                    if (gridInfo.Equals(null))
                    {
                        MessageBox.Show("erreur, les champs login et mot de passe sont invalides", "erreur", MessageBoxButtons.OK);
                    } // fin if si les champs sont invalides
                    else
                    {
                        Interface_Menu Form1 = new Interface_Menu();
                        Form1.Show();
                    } // fin else si les champs sont valides alors il faut que le boutton "valide" nous améne vers l'interface de Menu principal
 
                   
                }
 
 
                catch (MySqlException exc)
                {
                    MessageBox.SHOW("erreur SQL:\n" + exc.Message, "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            } // fin else si les champs ne sont pas vides
            
        }


je pense qu'il y a problème lors de connections avec la base de données.
j'attends vos aide pour résoudre ce problème
et merci d'avance pour toute aide :)

10 réponses

NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
14 mai 2011 à 16:10
ta chaine de connexion doit être:

 connectionStr = "server=localhost;" + "uid=" + log.Text + "; password=" + motpasse.Text;


Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
cs_maymouta Messages postés 12 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 27 mai 2011
17 mai 2011 à 11:53
bonjour,
merci primo pour l'aide
j'ai fait la modification nécessaire dont vous m'avais mentionné
mais il apparait un autre erreur
erreur SQL:
Unable to connect to any of the specified MySQL hosts


je ne sais pas quoi faire
merci d'avance pour l'aide
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
17 mai 2011 à 18:53
Salut,
mais tu n'indiques aucune base de données dans ta chaine de connexion...

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
cs_maymouta Messages postés 12 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 27 mai 2011
24 mai 2011 à 09:56
bonjour merci pour l'aide
je suis débutante dans ce domaine et je ne sais pas comment faire.
par exemple comment indiquer ma base de données?
par exemple le nom de ma base de données est "recouvrement", la table est "user"
pour ce connecter à la base de données voici mon code
connectionStr = "server=localhost.recouvrement;" + "uid=" + log.Text + "; password=" + motpasse.Text;
pour sélectionner les login et les mots de passe existants dans la table user voici le code

commande.CommandText = "select * from User where Login=log and PassWord=motpasse"



merci pour l'aide.
0

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

Posez votre question
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
24 mai 2011 à 11:02
Salut,

voilà à quoi peut ressemble une cnxstr pour MySQL :
"Server=mon_serveur;Database=ma_database;Uid=mon_user;Pwd=mon_pass;"


mais attention, l'erreur que tu références plus haut ne doit pas avoir de lien avec la non sélection d'une DB par défaut. Il semble plutôt que mysqld (serveur MySQL) n'est pas actif sur ta machine (localhost).
0
cs_maymouta Messages postés 12 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 27 mai 2011
24 mai 2011 à 11:29
oui c'est vrai, le serveur Mysql a été inactif,
mais mnt j'ai fait la même modification avec serveur actif mais c'est le même msg qui s'affiche.
erreur MSQ:
access denied for user 'alis'@'localhost'(using password: YES)


j'ai trouvée dans le serveur mysql ce msg
Votre fichier de configuration fait référence à l'utilisateur root sans mot de passe, ce qui correspond à la valeur par défaut de MySQL. Votre serveur MySQL est donc ouvert aux intrusions, et vous devriez corriger ce problème de sécurité.

je ne sais pas s'il y a une liaison entre ces deux informations
si oui comment les résoudre
je vous remercie de nouveau pour votre patience
et merci d'avance pour chaque aide.
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
24 mai 2011 à 11:35
Re,

alors ton souci vient du fait que l'utilisateur "alis" n'a pas les (bons) droits pour accéder à ton instance localhost. Autrement dit il faut que tu GRANT les privilèges qui vont bien à cet utilisateur, ou que tu te log avec root.
Es-tu sûr, déjà, que cet utilisateur existe bien sur cette instance ?

Le deuxième message indique que tu as un utilisateur root créé par défaut mais qu'il ne possède pas de mot de passe, et donc que n'importe qui peut venir s'y connecter. Il est fortement conseillé de mettre un mot de passe à l'utilisateur root, et si possible pas "root" ^^
0
cs_maymouta Messages postés 12 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 27 mai 2011
24 mai 2011 à 12:28
lorsque j'ai exécuter cette requête pour introduire un password à l'utilisateur root
UPDATE mysql.user SET Password=PASSWORD('monNouveauMotDePasse') WHERE User='root';


mnt je n'arrive plus à ouvrir phpmyadmin
phpMyAdmin a tenté de se connecter au serveur MySQL, et le serveur a rejeté la connexion. Veuillez vérifier les valeurs de "host", "username" et "password" dans votre configuration et vous assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur MySQL.
MySQL a répondu:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)


je ne sais pas comment résoudre ce problème.
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
24 mai 2011 à 14:12
ça fait très longtemps que j'ai pas utilisé phpMyAdmin ...

Dans l'idée ton changement est bien passé, par contre il va falloir reparamétrer phpMyAdmin pour se connecter avec root/pass, et plus seulement root. Et c'est là où ça se corse, vu que je ne sais pas quel fichier modifier ^^ Pour le coup il va falloir demander à l'ami google.
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
24 mai 2011 à 14:19
Bon, ben j'ai demandé à l'ami google ^^

Le nom du fichier devrait être config.inc.php (à retrouver dans les répertoires de phpMyAdmin). Et la ligne à modifier est la suivante :
$cfgServers[$i]['password'] = 'ton_pass_root';
0
Rejoignez-nous