Bonjour,
Ce bout de code est censé récupérer la ligne de la table 'table_reseau' pour laquelle l'attribut NE_Name a la valeur "3G_FRET"
Il est censé renvoyer comme résultat une chaîne de caractère qui contient toutes les informations de la ligne. Malheureusement le code ne marche pas et voilà ce que m'affiche java dans la fenêtre d'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 package basededonnéesbis; import java.awt.Color; import java.awt.Graphics; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.Observer; import javax.swing.JOptionPane; import com.mysql.jdbc.PreparedStatement; import Observation.Observable; public class affichage implements Observable { public affichage () { } public String afficher(Connection conn) throws SQLException { String s = ""; Statement state = conn.createStatement(); ResultSet result = state.executeQuery(" SELECT * FROM reseau_table WHERE NE_Name= '3G_FRET'"); ResultSetMetaData resultMeta = result.getMetaData(); for(int i = 2; i <= resultMeta.getColumnCount(); i++) s = s+ "\t" + resultMeta.getColumnName(i).toUpperCase() + " : " + result.getObject(i).toString() + "\n"; // } result.close(); state.close(); return s; }
NB: Le Main et la connexion à la base sont pris en compte dans une autre classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:854) at com.mysql.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:4881) at basededonnéesbis.affichage.afficher(affichage.java:38) at basededonnéesbis.connect.main(connect.java:40)
Quelqu'un pourrait-il m'aider à résoudre ce problème ?
Merci d'avance pour votre aide.
Partager