[JAVA] Problème ResultSet

Fermé
karine - 13 nov. 2007 à 16:37
 karine - 14 nov. 2007 à 17:36
Bonjour,

Je vous expose mon problème.
Je fais une requête sur une table qui contient 12 enregs avec une colonne COL valorisée de la même façon pour tous.
Puis je fais une boucle

while(resultSet.next()){
System.out.println(resultSet.getString("COL"));
}


J'ai mis un compteur pour vérifier, je passe bien 12 fois dans la boucle.
Pourtant les 2 derniers resultSet.getString("COL") ne retournent rien !!

Quelqu'un y comprend quelque chose ? Est-ce que ça aurait un rapport avec un quelconque paramétrage Oracle ou autre ?

Merci à tous.
A voir également:

7 réponses

Bonjour,
si il te retourne rien c est que tu n'as pas de valeur pour ces enregistrement, ta colonne doit etre vide en base
0
Salut,

C'est bien là le problème. Ma colonne n'est pas vide.
Et je ne vois vraiment pas d'ou ça peut venir ...
D'autres idées ?

A+
0
Bonjour à tous,

Je voulais vous donner une petite précision.
Quand je lance mon programme en local sur ma machine ça fonctionne.
C'est quand je le lance sur un serveur distant que ça marche pas.
Il doit y avoir un fichier de paramétrage quelque part qui dit de prendre seulement 10 enregs.
Mais je n'ai aucune idée de son nom ou de son emplacement.

Est-ce que ça vous parle ?

Merci beaucoup.
0
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
14 nov. 2007 à 10:51
Salut,

Essaie un serveur moins compliqué que Oracle, pour au moins tester le code, puis revoir Oracle: c'est très difficile de trouver quelqu'un aussi avancé à Oracle.

Mias je ne pense pas que c'est le problème: autrement un message d'erreur doit apparaître au moins dans les fichiers logs de Oracle.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,

Le code fonctionne sur mon PC, donc je pense qu'il est correct.
Et de toute façon je n'ai pas le choix du serveur. Il faut que ça tourne sur celui-là.
Mais c'est vrai que c'est bizarre comme bug parce que je n'ai pas de message d'erreur.
Tous mes enregs sont lus, mais pour une raison obscure, les champs (hormis les clés) se retrouvent vides à partir du 11ème enreg.
J'y comprend rien.

En tout cas merci pour ton post, je me sens moins seule :-)
0
J'ai continué à faire des tests et voici les résultats :

Si je fais resultSet.setFetchSize(10000);
Les 10 premiers enregs sont correctement lus et transmis. Les suivants sont lus mais certains champs (pas tous) sont transmis à blanc, les dates deviennent "-10100-00-00 0-1:0-1:0-1.0". Pourtant toute la table contient le même genre de données pour tous les enregs.

Si je fais resultSet.setFetchSize(3);
Les 10 premiers enregs sont correctement lus et transmis. Puis j'ai une erreur ArrayIndexOutOfBoundsException sur la ligne resultSet.next() à la 11ème itération.


Est-ce que quelqu'un y comprend quelque chose ?
Pour moi tout ça n'a aucun sens !


Merci.
0
Bonsoir,

Voici le dénouement de l'histoire.
Les problèmes provenaient de mon setFetchSize. Je l'ai enlevé et tout fonctionne bien à présent.
Il y a surement des subtilités là-dessus qui m'ont échappées mais je n'ai pas le temps de me pencher dessus.

Merci à ceux qui m'ont aidé.
A+
0