salut a tous,
j'ai crée une classe Gbd qui permet d'effectuer les fonctions necessaire sur une bd (connexion, execution d'une requete ...) dont le code est le suivant :
Le probleme c'est que quelque fois lorsque je veut inserer un enregistrement il ne se passe rien dans la base (pas d'insertion) et pas de message d'erreur et en plus la fonction executeUpdate retourne 1 .
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 public class Gbd { String nomBase = "ma_base"; ResultSet resultat; Connection connexion; Statement stmt; /** Creates a new instance of Gbd */ public Gbd() { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } } public void connecter() { String url="jdbc:odbc:"+nomBase; System.out.println(url); try { connexion = DriverManager.getConnection(url); stmt = connexion.createStatement(); } catch (SQLException ex) { ex.printStackTrace(); } } public void deconnecter() { try { connexion.close(); } catch (SQLException ex) { ex.printStackTrace(); } } public ResultSet execQuery(String requete) { ResultSet r = null; try { r = stmt.executeQuery(requete); } catch (SQLException ex) { ex.printStackTrace(); } return r; } public int execUpdate(String requete) { int res =0; try { res = stmt.executeUpdate(requete); } catch (SQLException ex) { ex.printStackTrace(); } return res; } }
Alors j'ai tester ceci
Et la comme par miracle l'insertion s'effectue et en plus UNE SEULE fois !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Gbd gbd = new Gbd(); gbd.connecter(); for (int i=0;i<2;i++) { gbd.execUpdate("INSERT INTO TABLE (champ) VALUES(1)"); }
C'est au juste mon probleme ???
Merci pour votre aide
Partager