IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Appeler procédure stockée mysql


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 132
    Par défaut Appeler procédure stockée mysql
    Bonjour,

    je ne sais pas si je suis dans le bon département du forum pour ma requête. J'essaie d'appeler une procédure stockée depuis le code behind. Ma procédure stocké s'apelle prc_login et possède deux paramètres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PROCEDURE `prc_login`(par_usernom varchar(50), par_password varchar(50))
    BEGIN
    	SELECT id_user, `username`, `password` FROM web_users WHERE username=par_usernom AND `password`=par_password;
     
        END$$
    Voici mon code c# qui tente de parler avec cette procédure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     command = new MySQLCommand("prc_login", connection);
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.Add("par_usernom", DbType.String);
                command.Parameters.Add("par_password", DbType.String);
                command.Parameters["par_usernom"].Value = username;
                command.Parameters["par_password"].Value = password;
                connection.Open();
                reader = command.ExecuteReaderEx(); //mon erreur survient à cette ligne
    Je reçois comme erreur que j'ai une faute de syntaxe dans ma requete sql.....
    Bref un peu perdu


    Merci d'avance
    Gabriel Deschênes

  2. #2
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    SELECT id_user, `username`, `password` FROM web_users WHERE username=par_usernom AND `password`=par_password;
    essaie ca (c'est plus ou moins du sql mais avec mysql je ne sais pas si ca fonctionne; En SQL, les parametres sont précédés de @ mais comme c'est ici du mysql je n'en ai pas mis; en revanche, je pense que ce sont les quotes qui posent pb):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT id_user, [username], [password] FROM web_users WHERE [username] like par_usernom AND [password] like par_password;
    bye
    Nico

  3. #3
    Membre très actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Par défaut
    j'yrais plus pour une ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT id_user, username, password FROM web_users WHERE username = @par_usernom AND password  = @par_password;

  4. #4
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    Citation Envoyé par longuard Voir le message
    j'yrais plus pour une ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT id_user, username, password FROM web_users WHERE username = @par_usernom AND password  @par_password;
    allez, on va y arriver au SQL classique...
    les [] sont dus au fait que je ne sais pas si username et password ne sont pas des mots clés en (My)SQL; du coup mettre des crochets fait en sorte de spécifier qu'il s'agit de noms de colonnes. Entre "LIKE" et "=", la différence est sur le fait d'etre ou non case sensitive. Par ailleurs, longuard, c'est du détail mais il te manque un egal, ce qui donnera au final (ici en mode case sensitive) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT id_user, username, password FROM web_users WHERE username = @par_usernom AND password = @par_password;

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 132
    Par défaut
    Parfait, je teste ce code ce soir et je vous redonne des nouvelles.



    Gabriel Deschênes

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Tu n'oublieras pas de protéger ton code contre les injections SQL...

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [MySQL] PHP.PDO Appel d’une procédure stockée MYSQL avec arguments IN, OUT et INOUT
    Par Depite dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/03/2015, 10h20
  2. Appel de procédure stockée Mysql
    Par Gregory.M dans le forum Windows Forms
    Réponses: 5
    Dernier message: 28/05/2009, 19h30
  3. Appeler Procédure stockée depuis ACCESS
    Par Sunny dans le forum Access
    Réponses: 2
    Dernier message: 13/09/2005, 22h07
  4. [PL/SQL] Appel procédure stockée dans trigger
    Par Félia dans le forum Oracle
    Réponses: 3
    Dernier message: 24/01/2005, 17h25
  5. Procédures stockées MySQL
    Par super dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 02/04/2004, 09h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo