Bonjour,
Je débute avec les bases de données. Mon titre n''est pas très éloquent parce qu'en fait je ne sais pas encore comment poser mes questions. Bien entendu j'ai lu divers forums et tutoriels sur JDBC et aussi HSQLDB.
Le plus simple est peut être que j'expose ce que je veux faire.
Je développe un programme en java qui utilise des données (rien de bien novateur, c'est le contraire qui serait étonnant). Je souhaite mettre ces données dans une base. Cependant je ne veux pas que l'utilisateur final ait à installer un SGBD (MySQL ou équivalent). A préciser que cet utilisateur final n'a pas à écrire dans la base de données, seulement la lire. Pour le moment tout est en mémoire dans des listes. Le passage en BD est-il pertinent ? Est-il possible d'utiliser une base de données sans installer les outils habituels (wamp par exemple) ? J'ai cru comprendre que oui avec JDBC et HSQLBD mais je ne m'en sors pas. J'ai suivi le tuto de Baptiste Witch mais dés la première ligne ça plante :
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 try { Class.forName("org.hsqldb.jdbcDriver").newInstance(); System.out.println("Connection effective !"); */ /* //Création d'un objet Statement Statement state = conn.createStatement (); //L'objet ResultSet contient le résultat de la requête SQL ResultSet result = state.executeQuery("SELECT * FROM paragraphe"); //On récupère les MetaData ResultSetMetaData resultMeta = result.getMetaData(); //Largeur de chaque colonne int [] largeurs = new int[7]; // pour les entêtes de colonnes for(int i = 1; i <= 7; i++) { largeurs[i-1] = resultMeta.getColumnName(i).length (); } // pour les champs while(result.next()) { for(int i = 1; i <= 7; i++) { if (result.getObject(i)!=null) if (result.getObject(i).toString().length () > largeurs[i-1]) largeurs[i-1] = result.getObject(i).toString().length (); } } int largeurTotale = 0; for(int i = 0; i <= 6; i++) { largeurs[i] = largeurs[i]+2; largeurTotale=largeurTotale + largeurs[i]; } //La première ligne String Ligne1 = ""; for(int i=1;i<=99;i++) Ligne1 = Ligne1 + "*"; String Ligne2 = "*"; for(int i=2;i<99;i++) Ligne2 = Ligne2 + "-"; Ligne2 = Ligne2 + "*"; System.out.println(Ligne1); //On affiche le nom des colonnes for(int i = 1; i <= 7; i++) { String s = TraiterValeurs(resultMeta.getColumnName(i).toUpperCase(),largeurs[i-1]); s="*" + s; System.out.print (s); } System.out.println ("*"); System.out.println (Ligne1); //Ecriture des valeurs result.beforeFirst (); while(result.next()){ //System.out.print ("*"); for(int i = 1; i <= 7; i++) { String r = (result.getObject(i)==null)? "NULL" : result.getObject(i).toString(); String s=TraiterValeurs(r,largeurs[i-1]); s = ((i==1)? "*" : "|") + s; System.out.print (s); } System.out.println("*"); System.out.println(result.isLast ()? Ligne1 : Ligne2); } result.close(); state.close();*/ } catch (Exception e) { e.printStackTrace(); } }
Partager