Erreur de cursor sql

zizou39 Messages postés 6 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 28 juillet 2003 - 21 juil. 2003 à 11:35
zizou39 Messages postés 6 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 28 juillet 2003 - 22 juil. 2003 à 11:19
Erreur: java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] État de curseur non valide

Voici mon code qui me génère cette erreur :

Code:

rs=s.executeQuery("SELECT DISTINCT(Agence) FROM Representant ");

Vector Vag = new Vector();
if (rs != null){
while ( rs.next()){
Vag.add(rs.getString(1));
}
agence = new JComboBox(Vag);
this.add(agence);
}


Pouvez vous me dire pourquoi cela me produit une erreur. Ma JComboxBox n'est donc pas présente.

Agence est de type string dans ma base de données access

Si j'enlève le DISTINCT dans ma requete je n'ai plus d'erreur. (j'ai besoin du distinct)

3 réponses

tominfo Messages postés 93 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 30 janvier 2009
22 juil. 2003 à 09:57
-------------------------------
Réponse au message :
-------------------------------

> Erreur: java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] État de curseur non valide

Ce genre d'erreur c'est quand le curseur sur le rs ne peut pas lire ce que tu lui demande. Par exemple tu demande de lire ce qui se trouve à la 3ième colonne mais ton curseur est encore sur la première.
Tu dois toujours lire le résultat rs dans l'ordre qui est donnée dans la base.

Pourquoi rs.getString(1) ?
Essaie rs.getString(0) ou rs.getString("AGENCE")
0
zizou39 Messages postés 6 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 28 juillet 2003
22 juil. 2003 à 11:18
-------------------------------
Réponse au message :
-------------------------------

> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Erreur: java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] État de curseur non valide
>
> Ce genre d'erreur c'est quand le curseur sur le rs ne peut pas lire ce que tu lui demande. Par exemple tu demande de lire ce qui se trouve à la 3ième colonne mais ton curseur est encore sur la première.
> Tu dois toujours lire le résultat rs dans l'ordre qui est donnée dans la base.
>
> Pourquoi rs.getString(1) ?
> Essaie rs.getString(0) ou rs.getString("AGENCE")
0
zizou39 Messages postés 6 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 28 juillet 2003
22 juil. 2003 à 11:19
-------------------------------
Réponse au message :
-------------------------------

> c bon j'ai trouve.
en regardant les api tu remarquera que rs.getString(0) ca marche et que ca commence a 1 contrairement a d'habitude
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Erreur: java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] État de curseur non valide
> >
> > Ce genre d'erreur c'est quand le curseur sur le rs ne peut pas lire ce que tu lui demande. Par exemple tu demande de lire ce qui se trouve à la 3ième colonne mais ton curseur est encore sur la première.
> > Tu dois toujours lire le résultat rs dans l'ordre qui est donnée dans la base.
> >
> > Pourquoi rs.getString(1) ?
> > Essaie rs.getString(0) ou rs.getString("AGENCE")
>
0