Probleme pour executer une requete

zyriuse Messages postés 31 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 mars 2011 - 10 déc. 2009 à 16:03
caela Messages postés 68 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 19 avril 2012 - 17 déc. 2009 à 14:51
bonjour
avant de commencer je tiens à vous dire que je débute en csharp.
voila je suis entrain d'essayer de réaliser un trombinoscope,
et la je suis bloquer à l'endroit ou ma requête doit être exécuter pour que le résultat soit afficher dans mon dataGridView1.

l'erreur que j ai et donc la suivante je vais souligner en rouge l'endroit ou se trouve le probleme :

la methode surchargée correspondant le mieux à MYSQL.Data.MysqlClient.MySqlCommand.MySqlCommand(string,MySql.Data.MySclient.MySqlConnection)'possède des arguments non valides.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;




namespace trombinsta
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        private void ajouterUnCompteToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            //déclaration de la requete SQL
            string query = "SELECT * FROM utilisateur";

            if (Connexion.Connectsql() == true)
            {

                MySqlCommand cmd = new MySqlCommand(query, new MySql.Data.MySqlClient.MySqlConnection());
               
                 //l'erreur se trouve ici ! 
                MySqlCommand cmd = new MySqlCommand(query, Connexion);

                cmd.ExecuteNonQuery();
                //fermeture de la connexion
                this.CloseConnexion();
            }
        }

        private void CloseConnexion()
        {
            throw new NotImplementedException();
        }






        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void quitterToolStripMenuItem_Click(object sender, EventArgs e)
        {
                    Close();

        }

        private void aPropoDeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //message qui apparait aprés avoir cliquez sur à propos de
            MessageBox.Show("Application développée le : 09/12/2009 \n par : \n Olivier MOREL éléve à Insta \n Jimmy MINATCHY éléve à Insta ");
        }

        private void ajouterToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //afficher le formulaire d'ajout 
            Ajout frm = new Ajout();
            frm.Show();


        }

        private void Brecherche_Click(object sender, EventArgs e)
        {
    

        }


        //fenetre centrale ou s'affiche les utilisateurs
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
      
           
        }
    }
}


merci pour votre aide à tous

4 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
10 déc. 2009 à 16:57
if (Connexion.Connectsql() == true)
{
    MySqlCommand cmd = new MySqlCommand(query, new MySql.Data.MySqlClient.MySqlConnection());

    //l'erreur se trouve ici ! 
    MySqlCommand cmd = new MySqlCommand(query, Connexion);
    //...
}

J'ai plusieurs problèmes en voyant ce code :
- Connexion n'est déclaré nulle part. C'est une variable magique qui apparaît quand on en a besoin ?
- Connexion est d'un type perso très certainement, car Connectsql() ne ressemble à aucune méthode d'une classe que je connais.
- Les 2 lignes possèdent une déclaration de variable d'un même nom. Il n'y a pas comme un petit problème ?
- Comme dit auparavant, Connexion est certainement un type perso. Ca ne risque pas de marcher en paramètre de ton constructeur de MySqlCommand.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
caela Messages postés 68 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 19 avril 2012
17 déc. 2009 à 07:06
Salut! moi aussi je suis débutante donc je te garantis pas le résultat mais tu peus essayer!!!
Donc tu rajoute d'abord à l'entête: using System.Data.Sql (car tu utilise un code sql avec le select!) et using
system.Data.Odbc("using MySql.Data.MySqlClient;" ça existe car g essayé et ça fait un erreur!!!!)
Et comme dit Krimog tu n'as pas déclaré de connection, d'où l'erreur il faut faire
private void pictureBox1_Click(object sender, EventArgs e)
{
Odbcconnection conn=new Odbcconnection("ton Datasource");//copie ici le connection string
conn.Open();//ouvrir la connection
OdbcCommand query=new OdbcCommand();//déclarer l'odbc command
query.connection=conn;
query.CommandText="SELECT * FROM utilisateur";
query.ExecuteNonQuery();//exécution de la requête
conn.Close()//fermer connection
}
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
17 déc. 2009 à 09:47
@caela :
Il utilise effectivement un code sql en faisant le select. Cependant, ça n'implique pas pour autant d'avoir recours à System.Data.Sql.
Il n'utilise ni de pilote SqlServer ni Odbc. Il utilise un pilote à MySql (qui n'est pas inclus de base avec le Framework.net). C'est pour cette raison qu'il a la ligne "using MySql.Data.MySqlClient", en lieu et place de "using System.Data.SqlClient".

Mais de toutes façons, cela fait une semaine qu'il a posé la question, une semaine que j'y ai répondu et il n'a pas daigné poster un message, ni pour dire merci, ni pour dire que ça fonctionne ou que ça ne fonctionne pas.

Et ce n'est pas le seul message pour lequel ce soit le cas. Sur les 13 sujets qu'il a créé, il n'y en a qu'un seul auquel il ait répondu !!!
Ça c'est ce qu'on appelle du respect !

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
caela Messages postés 68 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 19 avril 2012
17 déc. 2009 à 14:51
Merci de l'info Krimog oauis car j'avais pas trop compris pourquoi il n'y a pas de using system
pour Mysql!!!
0
Rejoignez-nous