cs_darkstorm
Messages postés44Date d'inscriptiondimanche 3 février 2002StatutMembreDernière intervention22 mai 2006
-
25 févr. 2004 à 23:28
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007
-
26 févr. 2004 à 11:21
Bonsoir, voici mon code :
try {
String[] temp = new String[rsmd.getColumnCount()];
while (rs.next()) {
for (int n = 0; n < temp.length; n++) {
temp[n] = rs.getString(n + 1);
}
tempTabObjet.add(temp);
}
} catch (SQLException e) {
System.out.println("Problème pour transformer le rs en objetArray");
return null;
}
return tempTabObjet;
Mon problème est simple, ce bout de code transforme des enregistrements resultset venant d'une base de données en un ArrayList contenant des tableaux de String (un tab par enregistrement), le seul problème c'est que comme j'ajoute chaque fois "temp" dans mon ArrayList, j'ajoute donc toujours la même référence à la même zone mémoire, donc je me retrouve avec tous les enregistrements qui sont en fait le dernier, puisque je modifie en fait toujours la même variable, y a-t-il un moyen de pallier cet inconvénient ?? J'ai pensé d'ajouter mes objets en anonyme mais ce n'est pas possible du moment que je dois les traiter, je suis vraiment dans la M. si qqun pouvait m'aider ça serait sympa !
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 26 févr. 2004 à 08:50
pourquoi tu ne mets pas ta creation de l'objet temp[] apres le while?
ca reglerait normalement ton probleme, puisque tu creerais des nouvelles tables a chaque tour...
cs_darkstorm
Messages postés44Date d'inscriptiondimanche 3 février 2002StatutMembreDernière intervention22 mai 2006 26 févr. 2004 à 09:45
Salut, j'ai essayé de le faire mais le résultat ne change pas, pourtant ça devrait initialiser chaque fois une nouvelle variable, je ne comprends vraiment pas...