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

Accès aux données Discussion :

[ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?


Sujet :

Accès aux données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?
    Bonjour,

    J'aimerai exécuter une requète paramètrée sur une base de données MySQL...
    La connexion sur la base avec une simple requète (sans paramètre) marche parfaitement, hors ceci ne va pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                Connection.Open();
     
                MySqlCommand com = new MySqlCommand("SELECT * FROM x_artiste WHERE lower(nom) = ?artiste");
                com.Parameters.Add("?artiste", Artiste);
                MySqlDataAdapter MyAdapter = new MySqlDataAdapter();
                MyAdapter.SelectCommand = com;
                DataSet ds = new DataSet();
                MyAdapter.Fill(ds);
     
                Connection.Close();
    L'erreur, non pas à la compilation mais à l'exécution me dis que MyAdapter.Fill(ds); n'est pas initialisé correctement ?!

    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Connection.Open(); 
     
                String com = "SELECT * FROM x_artiste WHERE lower(nom) = ?artiste"; 
                com.Parameters.Add("?artiste", Artiste); 
                MySqlDataAdapter MyAdapter = new MySqlDataAdapter(); 
                MyAdapter.SelectCommand = new MySqlCommand(com, Connection); 
                DataSet ds = new DataSet(); 
                MyAdapter.Fill(ds); 
     
                Connection.Close();

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    com étant un string dans ton code... Il ne contient pas de .Parameters :S

    Merci de ta réponse

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Tu as vérifié que Artiste.value n'était pas NULL dans com.Parameters.Add("?artiste", Artiste); ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Points : 21
    Points
    21
    Par défaut
    Oui bien sur.

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par wremacle
    com étant un string dans ton code... Il ne contient pas de .Parameters :S

    Merci de ta réponse
    Oui, enfin c'est à toi de voir le principe de mon code: il faut indiquer la connexion Connection à ton MySqlDataAdapter MyAdapter

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 24
    Points : 21
    Points
    21
    Par défaut
    Voila j'ai trouvé, voici le code pour ceux que ca pourrait intéressé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                Connection.Open();
     
                String com = "SELECT * FROM x_artiste WHERE lower(nom) = ?artiste";
                MySqlDataAdapter MyAdapter = new MySqlDataAdapter();
                MyAdapter.SelectCommand = new MySqlCommand(com, Connection);
                MyAdapter.SelectCommand.Parameters.Add("?artiste", Artiste);
                DataSet ds = new DataSet();
                MyAdapter.Fill(ds);
                Connection.Close();
    PS: Merci Morpheus pour ton dossier mysqldotnet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment exécuter une requête en VBA ?
    Par rob2-9 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 01/08/2006, 12h00
  2. [VB.Net 2.0] Comment implémenter une requête Delete ?
    Par estelledany dans le forum Accès aux données
    Réponses: 4
    Dernier message: 13/07/2006, 12h39
  3. [ADO.Net][2.0] Comment utiliser une source de données Firebird ?
    Par neilbgr dans le forum Accès aux données
    Réponses: 2
    Dernier message: 24/05/2006, 08h05
  4. Comment exécuter une requête rapidement
    Par kardevlop dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/10/2005, 13h45
  5. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50

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