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 :

Exécution d'une requête vers une base de données Postgres


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Par défaut Exécution d'une requête vers une base de données Postgres
    Bonjour à tous j'essaie dd'exécuter une requette dans une BD postgres depuis un code java. Voilà la situation
    J'ai une table region(id,nom) et une table departement(id,nom,id_region) j'aimerais exécuter la requette suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select departement.nom from departement,region where region.id=departement.id_region and region.nom in('toto','tata','titi')
    sachant que lorsque je recupère les noms dans une variable elle est sous la forme: 'toto,tata,titi' au kieu de ''toto',tata,'titi' merci d'avance

  2. #2
    Membre extrêmement actif
    Avatar de MarieKisSlaJoue
    Homme Profil pro
    Ingénieur Cloud
    Inscrit en
    Mai 2012
    Messages
    1 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Roumanie

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 145
    Billets dans le blog
    20
    Par défaut
    Salut,
    Utilise les requêtes préparées (Ou non d'ailleurs) pour ça.

    Ca ressemble à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Connection connection = ConnectionSql.getConnection();
     String sql = "update MaTable SET id = ?, name = ?"; // Ici tu met ta requête
            try{
                PreparedStatement preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setInt(1, 1);
                preparedStatement.setString(2, "Nom machin");
     
                preparedStatement.executeUpdate();
     
            }catch(SQLException e){
            }
    Le ? indique les paramètres que tu voudra mettre. Ca commence à 1. Si tu fait d'autre requête que des updates il faudra faire preparedStatement.execute()
    Ce post à été écrit par un panda
    Apollo 11 - AGC revue de code
    -- qwerty keybord

  3. #3
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PreparedStatement stmt = conn.prepareStatement(
        select departement.nom from departement,region where region.id=departement.id_region and region.nom in (?,?,?)");
    String[] parametres = variable.split(",");
    int i =1;
    for (String s : parametres)
        stmt.setString(i++,s);

    Avec le nombre de ?,?,? a adapter en fonction du nombre de virgules.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Par défaut
    Citation Envoyé par tchize_ Voir le message


    Avec le nombre de ?,?,? a adapter en fonction du nombre de virgules.
    Je ne comprend pas bien s'il te plait

  5. #5
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    et bien, si dans la liste que tu reçois en paramètre, il y a tata,titi,toto, c'est "region.nom in (?,?,?)"
    si dans la liste il y a tata,toto, c'est "region.nom in (?,?)"
    si dans la liste il y a tata,titi,toto,tutu,tété c'est "region.nom in (?,?,?,?,?)"

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    et bien, si dans la liste que tu reçois en paramètre, il y a tata,titi,toto, c'est "region.nom in (?,?,?)"
    si dans la liste il y a tata,toto, c'est "region.nom in (?,?)"
    si dans la liste il y a tata,titi,toto,tutu,tété c'est "region.nom in (?,?,?,?,?)"
    Ok je teste et je te tiens au courant

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Par défaut
    Désolé mais j'ai mal expliqué mon problème au fait j'utilise ireport pour générer un rapport dans lequel doit être exécuté la requette

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

Discussions similaires

  1. Copier un champ d'une requête vers une autre
    Par lerorodu51 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 01/07/2008, 15h12
  2. Insérer une valeur depuis une requête vers un formulaire
    Par baila dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/08/2007, 11h07
  3. Réponses: 2
    Dernier message: 02/06/2006, 11h26
  4. Basculer le résultat Requête d'une listebox vers une autre
    Par Daniel MOREAU dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2006, 21h26
  5. [MySQL] Faire une requête recourant à deux bases de données
    Par bourvil dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/04/2006, 15h35

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