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"

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;
      }
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
 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)
NB: Le Main et la connexion à la base sont pris en compte dans une autre classe.
Quelqu'un pourrait-il m'aider à résoudre ce problème ?

Merci d'avance pour votre aide.