Bonjour !
J'ai des soucis depuis hier avec ce bout de code!
Je l'ai mis avec le code d'erreur qu'il m'envoie. Une exception de nullpointer s'eleve et je ne sais pas pourkoi! Comme vous pouvez le remarquer toutes les variables sont initialisée avant les utilisation!
Je vous serai reconnaissant pour votre aide!
Voila le message d'erreur:
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172 package controle_facturation; import java.io.*; import java.sql.*; import java.util.*; import oracle.jdbc.driver.OracleDriver; class java_oracle { Connection con; ResultSet results; ResultSetMetaData rsmd; //---------------------------- public java_oracle() { try { results = null; DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); } catch (Exception e) { System.out.println("Erreur lors du chargement du driver:"+ e.getMessage()); } } //------------------------------------------------------ public boolean ouvre(String piloteODBC) { boolean ok = false; try { con = DriverManager.getConnection(piloteODBC,"user1","password1"); ok = true; } catch (SQLException e) { System.out.println("echec d'ouverture:" + e.getMessage()); ok = false; } return (ok); } //----------------- public boolean ferme() { boolean ok = false; try { con.close(); ok = true; } catch (SQLException e) { System.out.println("echec lors de la fermeture:" + e.getMessage()); ok = false; } return ok; } //------------------------------------------------ public void executeRequete(String requete) { try { Statement stmt = con.createStatement(); results = stmt.executeQuery(requete); } catch (SQLException e) { System.out.println("Erreur requête : " + e.getMessage()); } } public ResultSet getResult() { return results; } public void recupDonnees() { try { rsmd = results.getMetaData(); } catch (SQLException e) { System.out.println("Erreur données:" + e.getMessage()); } } public int getNbColonne() { int nbCols = 0; try { nbCols = rsmd.getColumnCount(); } catch (SQLException e) { System.out.println("Erreur nombre de colonnes:" + e.getMessage()); } return nbCols; } public boolean ligneSuivante() { boolean encore = false; try { encore = results.next(); } catch (SQLException e) { } return encore; } public String getValeur(int i) { String valeur = ""; try { valeur = results.getString(i); } catch (SQLException e) { } return valeur; } public ResultSetMetaData getDonnees() { return rsmd; } public Vector getNomColonne() { Vector vec = new Vector(); for (int i = 1; i <= this.getNbColonne(); i++) { try { vec.add(rsmd.getColumnName(i)); } catch (SQLException e) { } } return vec; } //extrait les données de la requête dans un fichier csv public void write_csv(String nomFichier) { Vector vec = getNomColonne(); try { BufferedWriter out = new BufferedWriter(new FileWriter(nomFichier)); for (int i = 1; i <= this.getNbColonne(); i++) { out.write( (String) vec.elementAt(i - 1)); if (i != this.getNbColonne()) { out.write(";"); } else { out.newLine(); } } boolean encore = this.ligneSuivante(); while (encore) { for (int i = 1; i <= this.getNbColonne(); i++) { out.write(this.getValeur(i)); if (i != this.getNbColonne()) { out.write(";"); } else { out.newLine(); } } encore = this.ligneSuivante(); } out.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String arg[]){ java_oracle test=new java_oracle(); test.ouvre("jdbc:oracle:thin:@10.02.0.56:1521:base_siege"); test.executeRequete("select groupe1_id from table_groupe"); test.write_csv("c:\test.txt"); } }
[/code]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 java.lang.NullPointerException at controle_facturation.java_oracle.getNbColonne(java_oracle.java:81) at controle_facturation.java_oracle.getNomColonne(java_oracle.java:116) at controle_facturation.java_oracle.write_csv(java_oracle.java:128) at controle_facturation.java_oracle.main(java_oracle.java:171) Exception in thread "main"
Partager