Pb de base de données avec le caractère @

Résolu
siadlamri Messages postés 13 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 9 mars 2006 - 5 févr. 2006 à 14:36
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 6 févr. 2006 à 17:20
bonjour tout le monde,

en fait
j'ai un problème dans mon application C# qui essai d'inserer une ligne à une table d'une base de données oracle 9i ayant la structure suivante : user (user_id, email).



j'ai implémenté une intérface pour l'insertion d'un nouvel utilisateur, c simple, l'instruction sql est la suivante :



string str = " insert into user (user_id, email) values (" + id_value.text + ",'" + email.value)";



(email.value contient un caractère @)



pour l'insertion ça marche, mais pour l'email le caractère
@ est transformé en : (deux points). ceci
biensur sous VS 2003, tandis que avec un editeur SQL le problème
ne se pose plus



c'est quoi le problème

5 réponses

siadlamri Messages postés 13 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 9 mars 2006
6 févr. 2006 à 17:13
oui, str est correct, puisque pas d'erreur oracle à l'exécution et tout marche bien, sauf que le caractère @ est transformé en :

j'ai résolu le problème d'une autre manière. j'ai utilisé une requete paramétrée, qui prend comme paramètre l'adresse email.
3
rpillot Messages postés 7 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 27 février 2006
6 févr. 2006 à 15:38
Bonjour,
J'ai la même chose que toi, et mon @ n'est pas transformé !!!
Tu as deux Textbox pour ton INSERT ?
Si oui pourquoi un email.value ? et non email.text ?
Ta str : est-elle stockée dans la partie : #region Code généré par le Concepteur Windows Form ???

Rémi
0
siadlamri Messages postés 13 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 9 mars 2006
6 févr. 2006 à 16:40
en fait, c'est une erreur de frappe dans mon code c'est ecrit email.text pour récupérer l'email saisi sur ce textbox.

la variable str est une variable locale elle est exécutée comme suit :

string str = " insert into user (user_id, email) values (" + id_value.text + ",'" + email.text)";
oracleCommand cmd = new oracleCommand(str,myconnection);
cmd.executeNonQuery();

je t'informe que ma base de données est en oracle version 9i
0
rpillot Messages postés 7 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 27 février 2006
6 févr. 2006 à 16:58
On parlant d'erreur de frappe :
tu veux certainement écrire :
string str = " insert into user (user_id, email) values (" + id_value.text + ",'" + email.text+"')";

Pour info @ signale un paramètre SQL server et : un paramètre Oracle.
Dis moi si ta str est correct ou si c'est autre chose ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 99
6 févr. 2006 à 17:20
Ce qui d'un seul coup te résoud ton problème ainsi qu'un splendide problème de sécurité.

/*
coq
MVP Visual C#
*/
0