JDBC

Fermé
fabien.joubert Messages postés 35 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 31 juillet 2008 - 5 avril 2008 à 22:06
fabien.joubert Messages postés 35 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 31 juillet 2008 - 5 avril 2008 à 22:18
Bonjour,
Voici de la BDD en java

j'ai initialisé une table CLIENTS
je n'ai saisi qu'une ligne pour le test
je souhaites afficher simplement cette ligne,
voici mon code :

public static void main(String args[]) throws SQLException {


try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(Exception ex) { System.out.println("Class.forName Exception"); }

String url = "jdbc:mysql://localhost:3306/ima"; //jdbc:<sous-protocol>:<la base de données>
String user = "root";
String password = null;
try{
Connection con = DriverManager.getConnection( url, user, password );
System.out.println("DriverManager.getConnection");

Statement stmt = con.createStatement() ;
System.out.println("createStatement()");

String queryString = "select nom, prenom from clients";
ResultSet rs = stmt.executeQuery( queryString );
System.out.println("executeQuery");

String s1 = rs.getString( "NOM" ); /*<=ici apparait un breakpoint avec noté simplement SQLException*/
String s2 = rs.getString( "PRENOM" );
System.out.println(s1 + " " + s2);
con.close();
}
catch(SQLException ex){
System.out.println("echec de la connection");
ex.printStackTrace();
}




Malheureusemnt voici ce qu'il me retourne :


init:
deps-jar:
compile:
run:
DriverManager.getConnection
createStatement()
executeQuery
echec de la connection
java.sql.SQLException
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:815)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5528)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5448)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5488)
at jdbc.FenetreClient.main(FenetreClient.java:94)
BUILD SUCCESSFUL (total time: 0 seconds)


je ne peux donc pas afficher le résultat,
merci a celui ou celle qui pourra m'aider

1 réponse

fabien.joubert Messages postés 35 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 31 juillet 2008 14
5 avril 2008 à 22:18
Désolé j'ai trouvé la solution :
il suffit de remplacer


String s1 = rs.getString( "NOM" );
String s2 = rs.getString( "PRENOM" );
System.out.println(s1 + " " + s2);



par



while(rs.next()){
String s1 = rs.getString( "NOM" );
String s2 = rs.getString( "PRENOM" );
System.out.println(s1 + " " + s2);
}



et ouai maintenant ca paraît LOGIQUE en fait!!
1