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 :

[JDBC] Gestion et lancement de plusieurs SQLExceptions


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 34
    Points
    34
    Par défaut [JDBC] Gestion et lancement de plusieurs SQLExceptions
    Voila, j'ai une couche session qui gère des accès a une base de données avec la methode
    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
    public void ajoutEmploye(int unNuempl, String unNomempl,int unHebdo, int unAffect)throws SQLException{	
    		PreparedStatement pStmtAjoutEmploye = null;
    		String sql = "INSERT INTO employe values(?,?,?,?)";
    		try {
    			pStmtAjoutEmploye = connec.prepareStatement(sql);
    			pStmtAjoutEmploye.setInt(1,unNuempl);
    			pStmtAjoutEmploye.setString(2,unNomempl);
    			pStmtAjoutEmploye.setInt(3,unHebdo);
    			pStmtAjoutEmploye.setInt(4,unAffect);
    			pStmtAjoutEmploye.executeUpdate();
    		}
    		catch(SQLException sqle){
    // C'est là que je veux lancer plusieurs exceptions !!
    		    throw sqle;
     
    		}
    		finally {
    			pStmtAjoutEmploye.close();
    		}
    	}
    Je veux récupere toutes les erreurs envoyées par la base de donnée et les envoyer à mon interface qui les affiche grâce à ce bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    catch (SQLException sqle){
    				while (sqle != null) {
    				ta.setText("L'employé n°"+nuempl+" n'à pas pu être ajouté à la base de données.\nDétails :\n");
    				String message = sqle.getMessage();
    			    String sqlState = sqle.getSQLState();
    			    int errorCode = sqle.getErrorCode();
    			    ta.append("Message = "+message);
    			    ta.append("SQLState = "+sqlState+"\n");
    			    ta.append("ErrorCode = "+errorCode+"\n");
    			    sqle = sqle.getNextException();
    				}
    Mais bien sur, pour l'instant ma couche sessions ne peut envoyer qu'une seule exception et je voudrais qu'il les envoie toutes;...
    j'ai essayé pas mal de trucs, j'ai regardé la FAQ et jmen suis inspiré mais rien qui marche...

    Je demande votre aide !! Merci d'avance !!

  2. #2
    Membre confirmé Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Points : 508
    Points
    508
    Par défaut
    peut-être ne lance-t-elle qu'une exception parce que elle n'en reçoit qu'une ... as-tu vérifié que tes méthodes sont toutes exécutées ? j'entend par là que ton programme continue à tourner et qu'au moins une autre méthode renvoie 1 exception (au besoin, appelle deux fois la même pour tester).
    Toute vérité est bonne à entendre, même si toutes les vérités ne sont pas bonnes à dire.
    Rien ne sert de partir à point, il vaut mieux courir .

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    non non
    pour tester ca j'essaye de créer un employé en viloant plusieurs contraintes d'intégrité et oracle rebalance toutes ses exceptions au programme java et d'ailleurs l methode getNextException est censé permettre l'accès à l'exception suivante dans la chaine des exceptions.
    En tout cas jai laissé en gestion d'une seul exception, maintenant c'est terminé

    merci !

  4. #4
    Membre confirmé Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Points : 508
    Points
    508
    Par défaut
    quand une SQLException est lancée, le script SQL s'arrête .. donc il n'y a JAMAIS plusieurs Exception de lancées
    Toute vérité est bonne à entendre, même si toutes les vérités ne sont pas bonnes à dire.
    Rien ne sert de partir à point, il vaut mieux courir .

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/11/2005, 19h15
  2. lancement de plusieurs script sql
    Par gemini_010 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/08/2005, 11h38
  3. [Sécurité]Gestion des accès dans plusieurs bases
    Par vincentj dans le forum Débuter
    Réponses: 1
    Dernier message: 05/01/2005, 15h19
  4. Réponses: 9
    Dernier message: 17/04/2004, 17h32
  5. Réponses: 8
    Dernier message: 17/03/2004, 15h40

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