Bonjour,

dans le cadre de mon projet, je dois me connecter à une base de données Access 2003, et faire une sélection, somme tout classique et simple. Néanmoins je suis confronté à un problème que je vous expose de ce pas.

une magnifique [Microsoft][Gestionnaire de pilotes ODBC] État de curseur non valide

référant à mon resultSet
result=rs.getInt("idPersonne");

Dans le contexte, cela donne ceci :

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
 
static int selectIdPersonne(String matricule) {
	int result=-1;
	try{
	String Query ="SELECT idPersonne FROM personne WHERE matricule=?";
	System.out.println(Query+"   "+matricule);
 
	PreparedStatement ps= DBConnection.BD_Connexion.prepareStatement(Query);
	ps.setString(1, matricule);
	ResultSet rs=ps.executeQuery();
	result=rs.getInt("idPersonne");		
	}
	catch(Exception e){
		e.printStackTrace();
	}
	finally{
		return result;
	}
}
Mon syso(query) me retourne
SELECT idPersonne FROM personne WHERE matricule=? 0047289
ce qui correspond à mes attentes.

De plus, lorsque j'exécute ma requête susmentionné dans access, elle marche sans problème.

J'ai essayé de remplacer idPersonne par l'indice 1 mais cela n'a rien changé.

Je cherche actuellement du coté du resultSet mais sans succès.

Si vous avez une quelconque idée du pourquoi du comment, je suis preneur