Hallo,
bin ein Java-Neuling und habe ne Frage zum Füllen einer JTable.
Ich bekomme aus einer Datenbank ein ResultSet zurück, welches ca 150.000 Datensätze enthält.
und das sprengt das TableModel.
Ich fülle meine JTable so:
Wie kann ich das füllen der JTable optimieren. Jetzt kommt OutOfMemory beim Füllen von tblDataModel. Wenn ich "SELECT feld FROM tabelle" mache, geht es. Ich brauche aber alle felder der Datenbanktabelle.
Mit
läuft es auch, aber gibt es nicht noch andere Möglichkeiten?
Danke für eure Hilfe
Sven
bin ein Java-Neuling und habe ne Frage zum Füllen einer JTable.
Ich bekomme aus einer Datenbank ein ResultSet zurück, welches ca 150.000 Datensätze enthält.
und das sprengt das TableModel.
Ich fülle meine JTable so:
Code:
String strSql = "SELECT * FROM tabelle";
// gibt gleich fertiges ResultSet zurück
ResultSet rs = myconn.executeQuery(strSql);
tblDataModel = new DefaultTableModel();
ResultSetMetaData rsmd = rs.getMetaData();
int clmCnt = rsmd.getColumnCount();
Vector clmHeader = new Vector();
//Vector dataVector = new Vector();
for(int i = 1; i <= clmCnt;i++) {
clmHeader.addElement(rsmd.getColumnName(i));
}
tblDataModel.setColumnIdentifiers(clmHeader);
while(rs.next()){
Vector rowVector = new Vector();
for(int i = 1; i <= clmCnt; i++){
rowVector.addElement(rs.getString(i));
}
tblDataModel.addRow(rowVector);
}
this.jTable1.setModel(tblDataModel);
this.jTable1.updateUI();
Wie kann ich das füllen der JTable optimieren. Jetzt kommt OutOfMemory beim Füllen von tblDataModel. Wenn ich "SELECT feld FROM tabelle" mache, geht es. Ich brauche aber alle felder der Datenbanktabelle.
Mit
Code:
java -ms90000000 -mx90000000 MyApplication
Danke für eure Hilfe
Sven