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 :

requete insertion contenant apostrophes


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 112
    Points : 42
    Points
    42
    Par défaut requete insertion contenant apostrophes
    Salut tt le monde,
    je veux executer une requete d'insertion sql sous java.Les valeurs a inserer sont stockées dans des variables de type string(col1,col2,col3)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String s="insert into employé values(' "+col1+" ' ,' "+col2+" ',' "+col3+" ')";
    rt.smt.executeUpdate(s);
    Le probleme est que la variable col3 contient des apostrohes donc la requete n'est pas executée et je reçoit une erreur sql.
    Y'a t_il une solution a ce probleme???

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 325
    Points : 228
    Points
    228
    Par défaut
    Je pense que le problème doit être résolu selon la base de données utilisée. Mais tu peux essayer de doubler tes apostrophes (remplacer une apostrophe par deux apostrophe se suivant. Attention, pas un guillemet)

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 112
    Points : 42
    Points
    42
    Par défaut
    J'utilise une base de donnée oracle.g essayé le double apostrophe en utilisant col3.replaceAll(" ' "," ' ' ") et ça marche.
    Merciiiiiiiiiiiiii enormément

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Pour info, la prudence recommende d'utiliser des prepared statement, çà résiste presque à tout ces trucs là, çà permet de mettre une string totalement quelconque dans un champ. Pas besoin de s'amuser avec les quotes.

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par tchize_ Voir le message
    Pour info, la prudence recommende d'utiliser des prepared statement, çà résiste presque à tout ces trucs là, çà permet de mettre une string totalement quelconque dans un champ. Pas besoin de s'amuser avec les quotes.
    +1

    Surtout qu'il y a d'autres caractères qui pourraient poser problème, et que le code en est même plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	String s="insert into employé values(?, ?, ?)";
    	PreparedStatement stmt = con.prepareStatement(s);
    	stmt.setString(1, col1);
    	stmt.setString(2, col2);
    	stmt.setString(3, col3);
    	stmt.execute();
    a++

Discussions similaires

  1. problème sur requete insert
    Par shadowmoon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/06/2005, 11h46
  2. ASP + pb requete Insert
    Par cell dans le forum ASP
    Réponses: 4
    Dernier message: 22/04/2005, 11h15
  3. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2005, 15h17
  4. Erreur lors d'une requete insert into.. select
    Par Mr N. dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/11/2004, 17h32
  5. effectuer une requete insert avec 'values' ET 'select'
    Par delaio dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/08/2004, 19h05

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