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écuter plusieurs requêtes


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 64
    Points
    64
    Par défaut Exécuter plusieurs requêtes
    Bonjour,

    J'ai fais le programme suivant :

    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
    public class Requetes{
     
    public static void requete(String s) throws SQLExecption, ClassNotFoundExeception{
    Class.forName("org.postgresql.Driver");
    String login = "log";
    String mdp = "pass";
    Connexion conn = DriverManager.getConnexion("jdbc:postgresql://localhost/"+log,log,mdp);
    Statement st = conn.createStatement();
    ResultSet resultat = st.executeQuery(s);
     
    resultat.close();
    st.close();
    conn.close();
     
    }
     
    public static void main(String[] args) throws SQLException{
     
    int j;
     
    try{
    for(j=0;j<5;j++){
       String z = "create table tab"+j+" (id int);";
       requete(z);
    }
    }
    catch(Exception e){}
     
    }
     
    }
    Le problème est que quand j'affiche mes tables crées je n'ai que la première table "tab0".

    D'où peut venir ce problème, et comment le corriger ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Bonjour
    Voici ton code corrigé
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
     
     
    public class Requetes{
     
    	public static void requete(String s) {
     
    		try {
    			Class.forName("org.postgresql.Driver");
    			String login = "pass";
    			String mdp = "log";
    			String bdd= "tabase";
    			Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/"+bdd, login, mdp);
    			System.out.println("CONNECT !");
    			Statement st = conn.createStatement();
    			ResultSet resultat = st.executeQuery(s);
     
    			resultat.close();
    			st.close();
    			conn.close();
    		} 
    		catch (ClassNotFoundException e) {
    			System.out.println("ERREUR: "+s);
    			System.out.println("------------>"+e);
    		} 
    		catch (SQLException e) {
    			System.out.println("ERREUR: "+s);
    			System.out.println("------------>"+e);
    		}
    }
     
    	public static void main(String[] args) {
     
    		int j;
     
    		for(j=0;j<5;j++) {
    			String z = "create table tab"+j+" (id int)";     //PAS DE ";" DS LA REQUETTE
    			requete(z);
    		}
    	}
    }
    Mise a part quelques petites erreurs, ce qui clochait c'est ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(j=0;j<5;j++){
       String z = "create table tab"+j+" (id int);";
       requete(z);
    }
    }
    catch(Exception e){}
     
    }
    Il n'y a pas de ";" dans la requete, et avec le "catch" tu interceptais bien l'exception mais tu n'avais mis aucun traitement donc le message d'erreur ne s'affichait pas.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 64
    Points
    64
    Par défaut
    Yop,

    Merci pour ce code, ça fonctionne bien, du moins ça créé bien les tables. J'ai juste un message d'erreur dans le terminal :
    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
    CONNECT !
    ERREUR: create table tab0 (id int)
    ------------>org.postgresql.util.PSQLException: Aucun résultat retourné par la requête.
    CONNECT !
    ERREUR: create table tab1 (id int)
    ------------>org.postgresql.util.PSQLException: Aucun résultat retourné par la requête.
    CONNECT !
    ERREUR: create table tab2 (id int)
    ------------>org.postgresql.util.PSQLException: Aucun résultat retourné par la requête.
    CONNECT !
    ERREUR: create table tab3 (id int)
    ------------>org.postgresql.util.PSQLException: Aucun résultat retourné par la requête.
    CONNECT !
    ERREUR: create table tab4 (id int)
    ------------>org.postgresql.util.PSQLException: Aucun résultat retourné par la requête.

  4. #4
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Bonjour
    Si tu as exécuté ton code plus d'une fois, la base comprend que tu essayes de créer des tables déja crées donc il te renvoi une erreur

Discussions similaires

  1. Composant qui exécute plusieurs requêtes
    Par sinoun dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 10/06/2015, 15h13
  2. comment exécuter plusieurs requêtes ensemble avec Pentaho
    Par bfelicien2000 dans le forum Pentaho
    Réponses: 0
    Dernier message: 01/12/2010, 17h31
  3. Exécuter plusieurs requêtes à la suite
    Par FrenchFrogger dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 14/10/2008, 19h16
  4. [Oracle] Exécuter plusieurs requêtes (block) en PHP vers Oracle
    Par hshamsan dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/04/2008, 09h42
  5. Exécuter plusieurs requêtes en même temps
    Par k_boy dans le forum Bases de données
    Réponses: 9
    Dernier message: 21/02/2008, 12h51

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