Bonjour,
J'ai installé MySQL sur mon ordinateur pour me créer une BDD locale que je remplit grace à un logiciel Java. Le programme est très simple mais lorsque je fais un INSERT depuis le programme Java, il y a quelque chose de bizarre, l'entrée n'apparait pas, par contre l'identifiant est incrémenté, je m'explique :
J'ai une table "indicateur" avec deux champs id (autoincrémenté) et valeur. Quand je fais un INSERT dans le Workbench de MySQL pas de soucis, j'ai par exemple l'id de l'entrée à 1. Puis j'execute mon programme Java qui lance un INSERT, rien ne se met et si je refait un INSERT depuis le Workbench l'id de l'entrée est 3. Preuve qu'il a vu passé le dernier INSERT.
Voyez vous où est le problème ? Je met à tout hasard mon programme Java, mais je pense que c'est plus un pb d'interfaçage (j'ai pourtant bien mis la librairie) :
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
78
79
80
81
82
83
84
85
86 public static void main(String[] args) { (new BDD()).requeteUpdate("INSERT INTO `indicateurs`.`indicateur` ( `id` , `valeur`) VALUES ( NULL, " + "\"6\" );"); } ..... public class BDD { static Connection con; BDD() { getConnexion(); } public static void getConnexion() { //implementation try { Class.forName("com.mysql.jdbc.Driver"); } catch(Exception ex) { return; } //connexion String url = "jdbc:mysql://localhost:3306/indicateurs"; //jdbc:mysql://tnn-vcopilote:3306/cop_tenon_med String user = "root"; String password = "root"; try { con = DriverManager.getConnection( url, user, password ) ; Fc.console("connexion à la BDD"); } catch (Exception e) { e.printStackTrace(); } } public static void requeteUpdate(String req) { //connexion BDD Connection conn = con; try { conn.setAutoCommit(false); Statement st = conn.createStatement(); st.executeUpdate(req); st.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static ResultSet requeteExecute(String req) { Connection conn = con; ResultSet rs = null; try { conn.setAutoCommit(false); Statement st = conn.createStatement(); rs = st.executeQuery(req); rs.close(); st.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return rs; } }
Partager