Bonjour tout le monde,
Je suis en train de m'initier à Java et j'avoue rencontrer enormement de probleme.
Pour m'autoformer je voulais faire une petite appli qui se connecte à une base MySQL, execute qq requetes de types select, quelques requetes d'action et clos la connection.
Deja premiere question :
*Est ce qu'il vaut mieux creer une classe Database qui va s'occuper de gerer l'ouverture/fermeture ainsi que l'execution des requetes.
*Ou est ce qu'il est preferable de faire des objets qui ont les memes attributs que les champs de la table et de les lier (de facon plus ou moins magiquespeut etre avec implement ? )
Comme vous le voyez je sais pas trop comment m'y prendre et je n'ai pas trouvé de bon tuto qui illustrent la chose.
Je suis donc parti sur une classe Database, mais j'ai de gros probleme :
Mon probleme est que sur cette ligne :
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 public class C_Database { // attributs Connection con; ResultSet results; ResultSetMetaData rsmd; DatabaseMetaData dm; String catalog; String types[]; public C_Database(String driver) { types = new String[1]; types[0] = "TABLES"; try { Class.forName(driver); } catch(Exception e){ System.out.println("Erreur lors du chargement du driver:"+ e.getMessage()); } } public void Open(String url,String login,String password) { try{ con = DriverManager.getConnection(url, login, password); dm = con.getMetaData(); results = new ResultSet(dm.getCatalogs()); String s[]; while(results.hasMoreElements()) { s = results.NetxElement(); } } catch(Exception e){ System.out.println("echec d'ouverture:"+e.getMessage()); } } //////////////////////////////////////////////////////////////////////////////// public void Close() { try{ con.close(); } catch(Exception e){ System.out.println("echec lors de la fermeture:"+e.getMessage()); } }
Netbeans me dit que la classe ResultSet est abstraite et qu'on ne peut pas l'instancié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 results = new ResultSet(dm.getCatalogs());
1 ligne plus bas :
Fatalement ici ca ne marche pas non plus, les methodes invoquées ne sont pas trouvés par le compilateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 while(results.hasMoreElements()) { s = results.NetxElement();
Je patoge severe dans la semoule, help.
Partager