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

JDBC Java Discussion :

[JDBC]Java MYSQL - Remplacer les apostrophes


Sujet :

JDBC Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 8
    Points
    8
    Par défaut [JDBC]Java MYSQL - Remplacer les apostrophes
    Salut tout le monde,

    une question simple : comment je peux remplacer les quotes ' dans une string pour pas avoir d'erreur SQL.

    Merci

    Jul

  2. #2
    Membre confirmé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Points : 516
    Points
    516
    Par défaut
    Si tu n'utilises pas les Prepared Statements, tu peux utiliser une classe que j'ai bricolé pour passer des chaines de caractères validées au serveur MySQL :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    import java.util.*;
     
    public class StringMySQLConverter
    {
    public String chaineAConvertir;
    //******************************************************************
    public StringMySQLConverter(String chaineAConv )
      {
      chaineAConvertir = chaineAConv;
      }
    //******************************************************************
    public String adapterPourMySQL()
      {
      char [] mot;  mot = chaineAConvertir.toCharArray();
     
      Vector leMot = new Vector();
     
      for( int i=0; i<mot.length; i++)
                      leMot.add( ""+mot[i] );
     
      Vector nouvMot = new Vector();   int j=0;
     
      for (int i=0; i<leMot.size(); i++)
        {
        if (  ((String)leMot.elementAt(i)).equals("\'") )
             {
             nouvMot.insertElementAt("\\",j);
             j++;
             nouvMot.insertElementAt( (String)leMot.elementAt(i) , j);
             }
        else if (  ((String)leMot.elementAt(i)).equals("\\") )
                  {
                  nouvMot.insertElementAt("\\",j);
                  j++;
                  nouvMot.insertElementAt( (String)leMot.elementAt(i) , j);
                  }
             else if (  ((String)leMot.elementAt(i)).equals("\"") )
                       {
                       nouvMot.insertElementAt("\\",j);
                       j++;
                       nouvMot.insertElementAt( (String)leMot.elementAt(i) , j);
                       }
                  else {
                       nouvMot.insertElementAt( (String)leMot.elementAt(i) , j);
                       }
        j++;
        }
     
      StringBuffer chaineARenvoyer = new StringBuffer();
     
      for (int h=0; h<nouvMot.size(); h++)
                    chaineARenvoyer.append( (String)nouvMot.elementAt(h) );
     
      return chaineARenvoyer.toString();
      }
    //******************************************************************
    }
    C'est un code un peu lourd, je le concède (je suis pas un gourou du java), mais c'est offert gracieusement par la maison et ça marche !!
    ;-)


    A utiliser de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaineOK = new StringMySQLConverter( chaineKO ).adapterPourMySQL();
    Cela transforme, entre autres, "L'érudition" en "L\'érudition", et voilou !
    ;-)

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Ca marche
    Merci pour ta réponse, ca marche super. Maintenant j'ai un autre problème avec l'encodage en java, je vais ouvrir un autre topic.

    Jul

  4. #4
    Membre confirmé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Points : 516
    Points
    516
    Par défaut
    Penses à cliquer sur le bouton "résolu" !!

    ;-)

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

Discussions similaires

  1. Souci JDBC avec Mysql, programmation JAVA
    Par Danzel dans le forum Windows
    Réponses: 8
    Dernier message: 29/12/2006, 22h46
  2. [JDBC]les apostrophes dans les chaines
    Par d_token dans le forum JDBC
    Réponses: 4
    Dernier message: 30/08/2006, 14h32
  3. [Mysql][JDBC][Java]
    Par julienduprat dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 03/03/2006, 14h29
  4. [JDBC]Java access et mysql
    Par Lady_jade dans le forum JDBC
    Réponses: 9
    Dernier message: 09/09/2005, 12h11
  5. [JDBC]java - mysql : Pb de driver
    Par xiao-long974 dans le forum JDBC
    Réponses: 2
    Dernier message: 03/06/2004, 10h19

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