Martin Blaizot a écrit :


Le plus curieux, c'est que si je remplace :  
MaListBox.additem(Resultset_filllistbox.getString(MonIndex),i)

par :  MaListBox.additem(Resultset_filllistbox.getString(MonIndex-1),i)  ça 
marche  très bien

et par : MaListBox.additem(Resultset_filllistbox.getString(MonIndex-2),i) ça 
marche aussi.

En gros un getString (1) et un getString(2) me récupèrent tous les 2 le contenu 
de ma troisième colonne. Toutes les autres valeurs génèrent un message d'erreur.


D'avance merci pour vos suggestions.


Martin



Rebonjour Martin,

J'ai essayé de comprendre cette bizarrerie et ça m'a fait découvrir des choses que je ne soupçonnais pas.

Quand on fait un ResultSet avec une commande sql du type 'SELECT champ1, champ2 FROM laTable ORDER by champ1" le ResultSet comporte 3 colonnes et non pas 2 :
colonne 1 : champ 1
colonne 2 : champ 2
colonne 3 : champ 1
La dernière colonne est le doublon de la colonne sur laquelle porte le Order By.

C'est très curieux d'autant que ResultSet.Columns.Count indique bien 2.
A noter qu'avec un Rowset il n'y a pas cette colonne supplémentaire.

En conséquence ton getString (1) et getString(2) récupèrent la même chose : getString (1)la 1ère colonne correspondant à SELECT "nom" et getString (2)la 2ème colonne correspondant à ORDER BY "nom".

Si tu avais pris MonIndex = 4 (donc MonIndex-1 = 2 et MonIndex-2 = 3)tu aurais eu la valeur de "nom" avec getString (2)correspondant à ORDER BY "nom" et une erreur sur getString (3). Avec MonIndex = 5 tu aurais eu 2 erreurs.

Agnès S.

---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Répondre à