bonjour j aimerais savoir s il existe une methode (boolean) ou autre pour verifier si une table contien un element ou non
bonjour j aimerais savoir s il existe une methode (boolean) ou autre pour verifier si une table contien un element ou non
Non, il faut exécuter une requête.
ok mais une autre question
lorrque je remplie ma table j essaie de rattraper l erreur produit lorsque l element est deja inserer car sa me cree une erreur
mais quand je faitException in thread "main" java.sql.SQLException: ORA-00001: unique constraint (
COMPAORW.SYS_C00865470) violatedl erreur persiste
Code : Sélectionner tout - Visualiser dans une fenêtre à part catch(SQLException e){system.out.println("donnee existe deja")}
Montre plus de code.
Mais, bon, à priori, dans ton catch, tu affiche un message, et ... tu continues !
Donc, tu dois certainement avoir une erreur plus loin.
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 public static void chargerBaseManege(Connection con, String nomFichier) throws SQLException { BufferedReader fichierEntree = null; try { // ouverture du fichier fichierEntree = new BufferedReader(new FileReader(nomFichier)); PreparedStatement ps = con.prepareStatement("INSERT INTO "+ TableManege + " VALUES (?, ?, ?, ?)"); String ligneCour; // la ligne courante while ((ligneCour = fichierEntree.readLine()) != null) { String[] tokens = ligneCour.split("\t"); // séparation des segment(donne separare par tabulation String premier = tokens[0]; double deuxieme = Double.parseDouble(tokens[1]); double troisieme = Double.parseDouble(tokens[2]); int quatrieme = Integer.parseInt(tokens[3]); try{ ps.setString(1,premier); ps.setDouble(2,deuxieme); ps.setDouble(3,troisieme); ps.setInt(4,quatrieme); ps.executeUpdate(); System.out.println("reussit" ); } catch(SQLException e) {} } ps.close(); fichierEntree.close(); } catch (IOException ioe) { } }
Avec ce code, tu ne crées que les lignes qui n'existent pas déjà, puisque tu ne fais rien dans le catch qui gère le SQLException.
As-tu toujours une erreur avec ce code ? Si oui, montre la stack trace.
oui merci avec ce code sa marche bien![]()
Attention quand même: avec ce code ça marche ... si tout se passe bien.
Mais si un autre problème survient, tu ne pourras pas le savoir ! Et donc tu croiras que tout a marché alors qu'en fait ton programme n'a rien fait.
Tu devrais :
- Soit vérifier que l'exception catchée est bien due à un unique constraint ;
Soit faire un select count avant et n'insérer que si la requête retourne 0 (plus propre à mon avis).
Partager