PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ResultSet -> Object[][]



nul
10-01-2005, 18:34
Hallo Jungs, und wieder einmal ist es so weit, ich brauch eure hilfe! :o
Und zwar geht es um eine Typkonvertierung, folgender Code ist zu diskutieren:

private Object[][] getData(ResultSet rs, String[] columnLabel) throws SQLException {
this.list = new ArrayList();
this.row = 0;

while ( rs.next() ) {
Object[] obj = new Object[this.column];
this.row++;
// obj[this.row-1] = rs.getArray(this.row); ?? Feature not implemented
for ( int counter = 0; counter < this.column; counter++ ) {
obj[counter] = rs.getObject(columnLabel[counter]);
}
list.add(obj);
}
return (Object[][])list.toArray();
}
Ich versuche hier ein ResultSet in ein Object[][] umzuwandeln. Das ResultSet ist korrekt, das Auslesen der Spaltennamen funktioniert auch einwandfrei. Wenn ich nun die einzelnen Spalten in ein Array schaufle, das dann in eine Arraylist und zuletzt versuche das alles in ein Object[][] umzuwandeln, dann funktioniert das nicht!
Der fehler liegt einzig in der Typkonvertierung!

Brauche Hilfe!

Lin728
27-01-2005, 12:39
Jo, das ist schon klar.

Eine ArrayList kann dir immer nur eindimensionale Arrays zurückgeben, es ist ja eine Liste und keine Matrix.

peschmae
27-01-2005, 16:37
Ja, aber zumindest in C(++) ist ja ein Array von Arrays auch ein zweidimensionales Array (bzw. ein langes eindimensionales).

Die Frage hier ist dann halt einfach ob bei Java die Arrays auch in einer bestimmten Anordnung im Speicher liegen und ob die Arrays im Speicher auch nur aus dem Arrayinhalt bestehen oder ob da noch Zusatzinfos dabei gespeichert werden - Sachen die ich so nicht sicher weiss. Ist wohl etwas von dem was da den Strich durch die Rechnung macht...

Dann musst du halt selber ein passend grosses Array machen und dann über die ArrayLists iterieren und dabei das 2d-Array ausfüllen...

MfG Peschmä

Lin728
28-01-2005, 07:59
Hmm, in Java ist jedes Array eine Referenzliste im Heap.

lg

Nuke
28-01-2005, 22:35
Geht es darum, einen ResultSet in einem JTable anzuzeigen?

Wenn ja, dann geht das auch mit der Klasse TableModel. Das sind dann nur 5 Zeilen, um die Daten für die Tabelle zu bekommen.