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

C# Discussion :

Erreur lors de l'utlistion d'une variable dans une chaine sql


Sujet :

C#

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Erreur lors de l'utlistion d'une variable dans une chaine sql
    Bonjour tout le monde,

    J'essaie d'utiliser une variable paramètre de type string dans une requête SQL mais j'obtiens un message d'erreur qui est
    "La variable n'est dans le bon contexte"
    où quelque chose dans le genre.

    Ma base de données est mysql.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    string maticule = ((Excel.Range)feuille.Cells[15, 3]).Value2.ToString();
     
    command.CommandText = "SELECT NOTE FROM inscrits_en WHERE MATRICULE_ET = @MATRICULE_ET AND ID_COURS IN(SELECT ID FROM COURS WHERE NOM_ANNEE = 'BA2' AND CATEGORIE = 'NORMAL')";
    command.Parameters.AddWithValue("@MATRICULE_ET", matricule);
    Merci d'avance.

    beegees

  2. #2
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    A mon avis


  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    C'est pas "?MATRICULE_ET" en MySQL plutôt que "@MATRICULE_ET" ?

  4. #4
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Citation Envoyé par binoo Voir le message
    C'est pas "?MATRICULE_ET" en MySQL plutôt que "@MATRICULE_ET" ?

    Ca dépends quelle version de MySql, depuis la 5.?? @ est accepté mais le problème de base n'était pas là

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Citation Envoyé par olibara
    Ca dépends quelle version de MySql, depuis la 5.?? @ est accepté mais le problème de base n'était pas là
    Ok. Ça fait longtemps que je n'ai pas utilisé MySql. Merci pour l'info

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses.

    Je me demandais si je ne pouvais pas faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string maticule = ((Excel.Range)feuille.Cells[15, 3]).Value2.ToString();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command.CommandText = "SELECT NOTE FROM inscrits_en WHERE MATRICULE_ET = " + matricule + " AND ID_COURS IN(SELECT ID FROM COURS WHERE NOM_ANNEE = 'BA2' AND CATEGORIE = 'NORMAL')";
    Encore merci pour l'aide.

    beegees

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Ta requete parametrée etait beaucoup mieux

    Et je repete : il faut bien ouvrir les yeux

    maticule != matricule

  8. #8
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par olibara Voir le message
    Ta requete parametrée etait beaucoup mieux

    Et je repete : il faut bien ouvrir les yeux



    Désolé pour l'erreur due au copier/coller.

    Il est donc possible de faire comme j'ai dis ?

    C# n'est pas du tout mon domaine, je suis un programmeur PHP.

    J'aide mon stagiaire à résoudre ce problème.

    beegees

  9. #9
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Oui !

    Mais a mon avis c'était plus simple d'essayer en 30 secondes que d'attendre une réponse du forum

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  4. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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