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 :

executeQuery après setString() => KO, remplacement manuel des '?' => Ok


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 19
    Points
    19
    Par défaut executeQuery après setString() => KO, remplacement manuel des '?' => Ok
    Bonjour,

    J'ai un problème concernant la construction d'une requête. Je deviens fou !!!

    Tout d'abord j'initialise la connection et ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //initialisation connection (aucun problème)
    //......
     
    //initialisation de ma requete
    String requestAttribute = "select id from poste where id_salarie = ? "
    Ensuite si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //remplacement manuel du '?' par la valeur
    requestAttribute = requestAttribute.replaceFirst("\\?","'X12457'");
     
    PreparedStatement currentStatement = connection.prepareStatement(requestAttribute);
     
    ResultSet rsListElement = currentStatement.executeQuery();
     
    while (rsListElement.next()){
        //Traitements (passe)
    }
    la requête me retourne un resultat, et rsListElement n'est pas vide.

    Par contre si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    PreparedStatement currentStatement = connection.prepareStatement(requestAttribute);
     
    currentStatement.setObject(1,"X12457");
     
    ResultSet rsListElement = currentStatement.executeQuery();
     
    while (rsListElement.next()){
        //Traitements (ne passe jamais)
    }
    C'est incompréhensible. je ne vois pas où j'ai fait une erreur.

    Ce que je souhaite c'est faire fonctionner la 2nd méthode car le paramètre passé n'est pas forcément une String. J'ai écris la requête en dure pour mes tests mais normalement la requête est chargée depuis un document xml, et les paramètres à fournir proviennent du résultat d'une autre base de données. Bref, je dois faire fonctionner la 2nd méthode (setObject(..))
    J'ai essayer setString mais c'est le même problème.

    J'y crois pas trop mais si quelqu'un aurait une piste.

    Merci.

  2. #2
    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 804
    Points
    48 804
    Par défaut
    et ça passe avec setString?

Discussions similaires

  1. remplacement manuel des champs de fusions
    Par Invité dans le forum Word
    Réponses: 1
    Dernier message: 08/08/2012, 14h47
  2. [DW MX2004] Remplacement automatique des accents
    Par mandaillou dans le forum Dreamweaver
    Réponses: 9
    Dernier message: 10/07/2008, 15h31
  3. Accents remplacés par des ? durant l'écriture
    Par mona dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 03/01/2006, 14h13
  4. [XSLT] Remplacer par des caractères spéciaux
    Par OXyGN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/07/2005, 17h30
  5. [Client DataSet] Comment Insérer manuellement des lignes ?
    Par WebPac dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/11/2004, 11h40

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