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

MySQL Discussion :

Problème avec les caractères spéciaux


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Points : 26
    Points
    26
    Par défaut Problème avec les caractères spéciaux
    Bonjour,


    Je développe une application en C# / MySQL.
    Le problème, lorsque j'entre dans un champs un nom qui contient un caractère spécial, comme l'Apstrophe, le ( &é"'(-è_çà)=, alors l'application bug

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    On peut en savoir un peu plus sur ce qui "bug" ?
    Y a-t-il un message d'erreur renvoyé ? Si oui, lequel ?
    Quel est la requête qui est envoyée à la base de données (le problème peut très bien se situer côté C#, auquel cas ce forum n'est pas le bon pour poser la question).

    Avec comme seule indication : "ça bug", on ne peut pas grand chose pour vous aider

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    ok je comprend le message d'erreur et le suivant

    Nom : pb.png
Affichages : 83
Taille : 49,6 Ko

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Et on peut voir la requête complète qui génère cette erreur ?

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    bonjour voici la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public bool MAJ(int id)
    	{
    	DataBase bd = new DataBase();
    		try
    		{
    			MySQLCommand cmd = new MySQLCommand("UPDATE Client SET  NoStatut='"+this._NoStatut.ToString()+"',NoFonction='"+this._NoFonction.ToString()+"',NoNiveau='"+this._NoNiveau.ToString()+"',Nom='"+this._Nom.ToString()+"',Prenom='"+this._Prenom.ToString()+"',Nationalite='"+this._Nationalite.ToString()+"',CIN='"+this._CIN.ToString()+"',Age='"+this._Age.ToString()+"',Adresse='"+this._Adresse.ToString()+"',CP='"+this._CP.ToString()+"',Pays='"+this._Pays.ToString()+"',TelFix='"+this._TelFix+"',TelGSM='"+this._TelGSM+"',Email='"+this._Email.ToString()+"',com='"+this._Com.ToString()+"',Ville='"+this._Ville.ToString()+"' WHERE isInscrit=0 and NoClient='"+id.ToString()+"'",bd.Connection());
    			MySQLDataReader reader = cmd.ExecuteReaderEx();
    			cmd.Dispose();		
    			return true;
    		}
    		catch(Exception e)
    		{
     
    			System.Windows.Forms.MessageBox.Show(e.Message);
    			return false;
    		}
     
    	}

  6. #6
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonsoir.

    Je ne code pas en C# mais le problème vient peut être du fait qu'il y a une ambiguïté avec les simple quote du contenu du champs que tu essayes de stocker en base. Je n'en suis pas certain mais il faut peut être échapper ces simple quote avec un carractère d'échappement spécifique au langage ('\' non ?) ... Regardes s'il existe un équivalent en C# de la fonction addslashes en PHP (ou code la toi même ).

    Cordialement,
    Idriss

  7. #7
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Désolé, je n'ai pas été suffisamment clair.
    Quand je dis "afficher la requête", ce n'est pas afficher le code C# qui génère la requête, mais plutôt afficher la chaîne de caractère issue de l'exécution de ce code et qui correspond à la requête qui est passée au serveur MySQL.
    En clair, peux-tu nous donner un "print" de la chaîne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "UPDATE Client SET  NoStatut='"+this._NoStatut.ToString()+"',NoFonction='"+this._NoFonction.ToString()+"',NoNiveau='"+this._NoNiveau.ToString()+"',Nom='"+this._Nom.ToString()+"',Prenom='"+this._Prenom.ToString()+"',Nationalite='"+this._Nationalite.ToString()+"',CIN='"+this._CIN.ToString()+"',Age='"+this._Age.ToString()+"',Adresse='"+this._Adresse.ToString()+"',CP='"+this._CP.ToString()+"',Pays='"+this._Pays.ToString()+"',TelFix='"+this._TelFix+"',TelGSM='"+this._TelGSM+"',Email='"+this._Email.ToString()+"',com='"+this._Com.ToString()+"',Ville='"+this._Ville.ToString()+"' WHERE isInscrit=0 and NoClient='"+id.ToString()+"'"
    Je ne connais pas du tout C#, mais qu'est-ce qui s'affiche si tu fais, avant l'exécution de la requête la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.Forms.MessageBox.SHOW("UPDATE Client SET  NoStatut='"+this._NoStatut.ToString()+"',NoFonction='"+this._NoFonction.ToString()+"',NoNiveau='"+this._NoNiveau.ToString()+"',Nom='"+this._Nom.ToString()+"',Prenom='"+this._Prenom.ToString()+"',Nationalite='"+this._Nationalite.ToString()+"',CIN='"+this._CIN.ToString()+"',Age='"+this._Age.ToString()+"',Adresse='"+this._Adresse.ToString()+"',CP='"+this._CP.ToString()+"',Pays='"+this._Pays.ToString()+"',TelFix='"+this._TelFix+"',TelGSM='"+this._TelGSM+"',Email='"+this._Email.ToString()+"',com='"+this._Com.ToString()+"',Ville='"+this._Ville.ToString()+"' WHERE isInscrit=0 and NoClient='"+id.ToString()+"'")
    ?

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

Discussions similaires

  1. Problème avec les caractère spéciaux netvibes
    Par alas70 dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2007, 11h59
  2. Réponses: 13
    Dernier message: 06/11/2006, 01h55
  3. Problème avec les caractères spéciaux
    Par vincentj dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 01/09/2006, 15h49
  4. problème avec les caractères spéciaux
    Par jmarc1818 dans le forum Général Python
    Réponses: 1
    Dernier message: 16/03/2006, 15h55
  5. [SAX] Problème avec les caractères spéciaux
    Par abdou.sahraoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/07/2005, 10h07

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