Bonjour,
Je suis en train de faire ma première application J2EE avec une base de données Oracle. Il s'agit en fait de faire une simple connexion avec cette base.
J'ai fait la 1ère classe de connexion :La 2ème classe Java contenant le code de la manipulation (ajout) à la base et le code est le 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
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 import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; public class OracleCli { private String dbURL = ""; private String user = ""; private String password = ""; private java.sql.Connection dbConnect = null; private java.sql.Statement dbStatement = null; public OracleCli(String url, String user, String password) { this.dbURL = url; this.user = user; this.password = password; } public Boolean connect() { boolean test=false; try { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); this.dbConnect = DriverManager.getConnection("jdbc:oracle:" + this.dbURL, this.user, this.password); this.dbStatement = this.dbConnect.createStatement(); test= true; } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } catch (ClassNotFoundException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } catch (InstantiationException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } catch (IllegalAccessException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } return test; } public ResultSet exec(String sql) { try { ResultSet rse = this.dbStatement.executeQuery(sql); return rse; } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); } return null; } public int updat(String sql) { try { int rsu = this.dbStatement.executeUpdate(sql); return rsu; } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); } return 0; } public void close() { /* try { this.dbStatement.close(); this.dbConnect.close(); } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); }*/ } }Le formulaire de saisi des données est le 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 public class CompteBancaireDAO { // ***************** Ajouter un nouveau compte ******************************* public int persist (CompteBancaire CB) { int rs=0; // remplir la base OracleCli oracleCli = new OracleCli("thin:@localhost:1521:XE", "nadia", "nadia"); if (oracleCli.connect()) { rs= oracleCli.updat("insert into COMPTEE values ('"+CB.getRib()+"','"+CB.getNomClient()+"','"+CB.getSolde()+"')"); if(rs!=0) { System.out.println("Enseignant cré avec succés"); } else { System.out.println( "Echec! Enseignant existe deja"); } } else { System.out.println("Oracle connection failed !!!"); } oracleCli.close(); return rs; }
En plus d'une servlet d'ajout, qui sert comme exécution des données du formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <tr><td>rib</td> <td><input type="text" name="rib" size="10"></td></tr> <tr><td>Nom</td> <td><input type="text" name="NomClient" size="10"></td></tr> <tr><td>solde</td> <td><input type="text" name="solde" size="10"></td></tr> <input type="submit" value="Ajouter"> </body> </html>
Malgré ça je n'ai pas trouvé où se situe le problème dans l'exécution.
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 import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; public class OracleCli { private String dbURL = ""; private String user = ""; private String password = ""; private java.sql.Connection dbConnect = null; private java.sql.Statement dbStatement = null; public OracleCli(String url, String user, String password) { this.dbURL = url; this.user = user; this.password = password; } public Boolean connect() { boolean test=false; try { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); this.dbConnect = DriverManager.getConnection("jdbc:oracle:" + this.dbURL, this.user, this.password); this.dbStatement = this.dbConnect.createStatement(); test= true; } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } catch (ClassNotFoundException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } catch (InstantiationException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } catch (IllegalAccessException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); test=false; } return test; } public ResultSet exec(String sql) { try { ResultSet rse = this.dbStatement.executeQuery(sql); return rse; } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); } return null; } public int updat(String sql) { try { int rsu = this.dbStatement.executeUpdate(sql); return rsu; } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); } return 0; } public void close() { /* try { this.dbStatement.close(); this.dbConnect.close(); } catch (SQLException ex) { Logger.getLogger(OracleCli.class.getName()).log(Level.SEVERE, null, ex); }*/ } }
En fait je n'ai pas réussi à ajouter des données à la base et de plus, le bouton Ajouter ne fonctionne pas.
Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?
Merci d'avance pour votre aide.
Partager