Recupération d'une donnée d'un champ MYSQL et affichage dans un textbox C#

cs_Pulls Messages postés 2 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 26 décembre 2012 - 25 mai 2010 à 12:34
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010 - 25 mai 2010 à 23:13
Bonjour,

Je suis étudiant et débutant en C#. Je voudrais afficher le contenu d'un champ MySQL , ce champ s'appelle ancienindex, et l'afficher dans un textbox que j'ai nommé nomcomplet. Mais j'ai un message d'erreur au niveau de ExecuteNonQuery(). Voici les codes que j'ai tapés:



String chaine= "Dsn=conso; server=localhost;uid=root;database=dbconso;port3306;pwd=mysql";
OdbcConnection conn= new OdbcConnection(chaine);
conn.open();
string x="SELECT ancienindex FROM tbmouvement WHERE nomcomplet=" + nomcomplet.Text + ";
OdbcCommand cmd = new OdbcCommand (x, conn);
cmd.ExecuteNonQuery();

Voici le message d'erreur sur la ligne cmd.ExecuteMonQuery():

ERROR [42000] [MYSQL][ODBC 5.1 Driver][mysqld-5.5.2-m2-community] You have an error in your SQL syntax, check the manual ihat corresponds to your Mysql server version for the right syntax.
En parcourant la syntax de SQL, je ne trouve pas d'erreur. Depuis 2 jours, je suis bloqué par cette erreur et je ne peux plus avancer. Je vous prie de m'aider.

Cordialement.

3 réponses

Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010
25 mai 2010 à 17:35
regarde du coté des Parameters, ca devrait t'aider à éviter ce genre de bourdes a l'avenir...

Et pour répondre à ta question, je suppose que "nom complet" est une chaine de caractères... et que si tu utilise des délimiteurs de chaine de caractère en C#, il y a fort à parier que ce soit aussi le cas en SQL...


Nul ne devient grand par la guerre...
cs_Pulls Messages postés 2 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 26 décembre 2012
25 mai 2010 à 18:01
Dans les codes ci-dessous, ancienindex représente la valeur du champ MYSQL, à afficher dans le formulaire , noncomplet.Text est le nom selectionné dans le combobox et nomcomplet le nom du champ MYSQL.
Je ne comprends pas bien de quel paramètre vous parlez.
Cordialement



string x="SELECT ancienindex FROM tbmouvement WHERE nomcomplet=" + nomcomplet.Text + ";
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010
25 mai 2010 à 23:13
pas paramètre, parameter... Parameter

quand à ton histoire de nom complet, je te conseille fortement de revoir la définition d'une chaine de caractères... ca pourra t'être utile...

Nul ne devient grand par la guerre...
Rejoignez-nous