Hallo Kollegen,
ich sitze gerade in der Arbeit und komme nicht weiter... Per google habe ich nichts zu meinem Problem gefunden und deswegen bin ich hier, bei der Elite
!
Ich will ein ResultSet einer SQLAbfrage in eine HashMap<Integer, String[]> packen, jedoch steht nachdem ich eingefügt habe überall die gleichen Zeilen drin.
Hier mal der Code
Der erste Eintrag in meine HashMap soll nur die Metadaten beinhalten, ab dem Key 1 folgen dann die Ausgaben der SQL-Abfrage
Ich versteh nicht, wieso bei jedem Key nurnoch die gleichen Zeilen stehen, obwohl ich kein doppelten Eintrag habe und die Values deswegen ja auch nciht überschrieben werden
ich sitze gerade in der Arbeit und komme nicht weiter... Per google habe ich nichts zu meinem Problem gefunden und deswegen bin ich hier, bei der Elite
Ich will ein ResultSet einer SQLAbfrage in eine HashMap<Integer, String[]> packen, jedoch steht nachdem ich eingefügt habe überall die gleichen Zeilen drin.
Hier mal der Code
Java:
public HashMap<Integer, String[]> getHashMap(ResultSet rs)
throws SQLException
{
HashMap<Integer, String[]> hm = new HashMap<Integer, String[]>();
ResultSetMetaData rsma = rs.getMetaData();
int spalten = rsma.getColumnCount();
String data[] = new String[spalten];
int counter = 1;
for(int i = 0; i < spalten; i++)
data[i] = rsma.getColumnLabel(i+1);
hm.put(0, data);
//Bis hierhin OK, Metadaten habe ich mit Sysout geprüft :P
while(rs.next())
{
for(int i = 0; i < spalten; i++)
data[i] = rs.getString(i+1);
hm.put(counter, data);
//System.out.println(counter+" "+Arrays.toString(hm.get(counter)));
//Die Ausgaben sind hier noch richtig, also müsste doch das richtige eingefügt
//worden sein
counter += 1;
}
rs.close();
closeDB();
// for(int i = 0; i < hm.size(); i++)
// System.out.println(i+" "+Arrays.toString(hm.get(i)));
// Ab hier ist jedoch in der Hashmap bei jeden Key die letzte Zeile der SQL-Abfrage (also die Zeile
// die zuletzt eingefügt wurde
return hm;
}
Der erste Eintrag in meine HashMap soll nur die Metadaten beinhalten, ab dem Key 1 folgen dann die Ausgaben der SQL-Abfrage
Ich versteh nicht, wieso bei jedem Key nurnoch die gleichen Zeilen stehen, obwohl ich kein doppelten Eintrag habe und die Values deswegen ja auch nciht überschrieben werden