Probleme dans code

yelima Messages postés 86 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 8 novembre 2009 - 29 août 2008 à 18:00
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 1 sept. 2008 à 16:30
Aidez moi je suis en train de faire une page d'administration et apparemment j'ai des probleme dans mon code.

   /*//declaration de variables
            int martial;
            //declaration de la connexion
            OracleConnection connexion = new OracleConnection();
             
            connexion.ConnectionString = "User Id=SYSTEM;Password=koyeli;Data Source=localhost;";
            //ouverture de la connexion
            

            if (txtlogin.Text != "")
            {
                 martial=1;
            }
            else
            {
                 martial=0;
            }
            switch(martial)
                    {
                case 1:
                string cmdlogin = "SELECT login_utilisateur FROM utilisateur WHERE login_utilisateur=" + txtlogin.Text;
                connexion.Open();
                OracleCommand cmdconnexion = new OracleCommand(cmdlogin,connexion);
                OracleDataReader reader = cmdconnexion.ExecuteReader();
                    while( reader.Read() )
                    {
                        MessageBox.Show("Numéro: " + reader.GetString(6));
                    }

                    
                try
                {
                    
                   
                       
                  
                    if (txtpassword.Text == "martial")
                    {
                        indentification.ActiveForm.Hide();
                        Form Form1 = new Form1();
                        Form1.Show();
                    }
                    else
                    {
                        MessageBox.Show("Veuillez vérifier votre mot de passe", "Erreur de connexion",
                        MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        txtpassword.Text = "";
                    }
                }
                catch
                {
                    MessageBox.Show("Veuillez vérifier votre nom d'utilisateur", "Erreur de connexion",
                        MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtlogin.Text = "";
                }
            
            break;
            case 0:
            
                MessageBox.Show("Le champ de texte login est sûrement vide; veuillez le remplir", "Erreur de connexion",
                        MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                
            break;
            default:
            break;
        }
            connexion.Close();
    }

    }
    }

Il met comme erreur: ORA-00904: "YELIMA" : identificateur non valide
à ce niveau lorsque j'entre comme login yelima:
OracleDataReader reader = cmdconnexion.ExecuteReader();
Mais si je n'entre rien dans les champs, il me demande comme prevu de verifier le login

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
31 août 2008 à 15:49
Salut,

Il suffit de réfléchir à ce que donne cette ligne à l'execution :
string cmdlogin = "SELECT login_utilisateur FROM utilisateur WHERE login_utilisateur=" + txtlogin.Text;

Pour une valeur "yelima" dans txtlogin.Text ça donne
"SELECT login_utilisateur FROM utilisateur WHERE login_utilisateur=yelima"
Je doute que la table "utilisateur" comporte une colonne par utilisateur...

Tu devrais te renseigner sur le concept de requête paramétrée, et sur le problème d'injection SQL en cas de défaut de motivation pour effectuer le "travail supplémentaire".

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 août 2008 à 21:51
Serait également une bonne idée de ne pas mettre le mot de passe en clair dans les messages sur le forum....
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
1 sept. 2008 à 16:30
http://www.csharpfr.com/code.aspx?ID=27738


ce source devrait t'aider pour les requete parametre :)


decidement je vais faire une reponse automatique avec ce source moi :)


<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous