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 :

insertion sql : echapper les carateres ?


Sujet :

JDBC Java

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut insertion sql : echapper les carateres ?
    Bonjour,

    Je fais des requêtes SQL avec Java pour insérer dans Oracle mais le problème, c'est que les infos que je veux entrer contiennent :
    des quotes " ' " (apostrophe)

    Et donc ca ne passe pas...
    parce que ma requête a cette tête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into TABLE values('premiere_info' , 'ca'ne'fonctionne'pas')
    Il n'y a pas une fonction pour traiter les String avant de les lancer dans la requête ?


    Merci
    ++

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Cas classique que tu retrouveras n fois sur ce site...

    Il faut passer par un PreparedStatement pour t'affranchir de ces problèmes.
    Ce serait quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PreparedStatement pstmt = connection.prepareStatement("insert into MaTable(col1Int, col2String, col3Date) values(?, ?, ?);
    pstmt.setInt(1, valueInt);
    pstmt.setString(2, valueString);
    pstmt.setDate(3, valueSQLDate);
    pstmt.executeUpdate();
    A+

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    D'accord mais si j'ai plusieurs valeurs à entrer, ca ne devient pas vite lourd ?
    J'aimerais juste échapper les apostrophes (quote) en fait ?

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tu peux utiliser replaceAll si tu insistes...

    Mais franchement, tu devrais passer par le PreparedStatement...
    Les dates posent problème, les booleans peuvent poser problème, bref, il y a pas mal de cas où tu risques d'avoir des erreurs (sans parler du risque d'injection !)
    Autant faire propre tout de suite, non ?

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    Oui, je suis d'accord, autant faire propre lol

    Merci

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

Discussions similaires

  1. [PDO] Echapper les caractères potentiellement dangereux pour une requête SQL avec LIKE
    Par JimDraw dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 17/12/2012, 10h46
  2. [Pentaho PDI] Echapper les quotes pour insertion SQL
    Par arno974 dans le forum kettle/PDI
    Réponses: 4
    Dernier message: 19/04/2010, 16h22
  3. LINQ to SQL] Tracer les requêtes SQL d'Insert/Update/Delete
    Par annalady dans le forum Accès aux données
    Réponses: 5
    Dernier message: 30/07/2009, 10h17
  4. Récupérer les données Insert - SQL Server 2000
    Par jfc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/04/2006, 07h47
  5. Réponses: 7
    Dernier message: 25/07/2005, 13h41

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