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 :

Problème d'insertion dans la BD Postgres


Sujet :

JDBC Java

  1. #1
    Membre actif
    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
    Points : 235
    Points
    235
    Par défaut Problème d'insertion dans la BD Postgres
    bonjour a tous je fais une application java qui va interagir avec un BD postgre lorsque je saisie ma requette dans postgre sa marche très bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into "public"."Etudiant" (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')
    mais quand je me connecte en java avec eclipse pour insérer on me dit ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DRIVER OK ! 
    Connection effective !
    org.postgresql.util.PSQLException: ERREUR: la relation « public.etudiant » n'existe pas
      Position*: 13
    	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2101)
    	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1834)
    	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:372)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252)
    	at monpackage.ConectDB.main(ConectDB.java:25)
    org.postgresql.util.PSQLException: ERREUR: la relation « public.etudiant » n'existe pas
      Position*: 13
    voila mon code:
    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
    package monpackage;
    import java.beans.Statement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.*;
    import java.util.Enumeration;
    import java.util.Properties;
     
    public class ConectDB {
    	public static void main(String[] args) {
     
    		try {
    			Class.forName("org.postgresql.Driver");
    			System.out.println("DRIVER OK ! ");
     
    			String url = "jdbc:postgresql://localhost:5432/Universite";
    			String user = "postgres";
    			String passwd = "keryjames";
     
    			Connection conn = DriverManager.getConnection(url, user, passwd);
    			System.out.println("Connection effective !");
     
    			java.sql.Statement state=conn.createStatement();
    			String req= "insert into public.Etudiant (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')";
    			state.executeQuery(req);
    		} catch (Exception e) {
    			e.printStackTrace();
    			System.out.print(e);
    		}		
    	}
    }
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  2. #2
    Membre actif Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Points : 293
    Points
    293
    Par défaut
    Bonjour,
    tu as essayer d'enlever "public." dans ta requête pour ne laisser que "Etudiant"?

  3. #3
    Membre actif
    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
    Points : 235
    Points
    235
    Par défaut
    oui et on me dit ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DRIVER OK ! 
    Connection effective !
    org.postgresql.util.PSQLException: ERREUR: la relation « etudiant » n'existe pas
      Position*: 13
    	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2101)
    	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1834)
    	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:372)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252)
    	at monpackage.ConectDB.main(ConectDB.java:25)
    org.postgresql.util.PSQLException: ERREUR: la relation « etudiant » n'existe pas
      Position*: 13
    en fait ce que je ne comprend pas c'est que lorsque j'exécute la requètte dans postgre elle fonctionne parfaitement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into "public"."Etudiant" (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')
    je la recopie et je la mets en parametre de la methode executQuery mais sa ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    			String req= "insert into Etudiant (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')";
    			state.executeQuery(req);
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    dans postgres tu a mis des guillemets autour de Etudiant, donc tu utilise une casse explicite. Dans ton code java, il n'y en a pas, donc postgresql va travailler avec etudiant. Pour peux tu aie mis des guillement lorsque tu a fait ton create table, tu va devoir te trainer ces guillements sur chaque requête...


    => retire les guillemets partout et recrée tes tables pour éviter ces emmerdes avec la casse .

  5. #5
    Membre actif Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Points : 293
    Points
    293
    Par défaut
    Citation Envoyé par junior222 Voir le message
    je la recopie et je la mets en parametre de la methode executQuery mais sa ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    			String req= "insert into Etudiant (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')";
    			state.executeQuery(req);
    Pour une insertion il faut utiliser executeUpdate au lieu de executeQuery.

  6. #6
    Membre actif
    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
    Points : 235
    Points
    235
    Par défaut
    j'ai recrée les tables et utilisé la methode executeupdate et s marche
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

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

Discussions similaires

  1. [Hibernate] problème d'insertion dans la base de données
    Par Willy7901 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/08/2005, 13h19
  2. Problème d'insertion dans zone de texte
    Par roots_man dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/06/2005, 11h21
  3. probléme d'insert dans une page asp !
    Par tomtom25 dans le forum ASP
    Réponses: 5
    Dernier message: 31/03/2005, 16h04
  4. Problème d'insertion dans la base.
    Par roots_man dans le forum ASP
    Réponses: 2
    Dernier message: 14/09/2004, 12h56
  5. Réponses: 2
    Dernier message: 01/06/2004, 12h47

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