![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
Was ich mit dem Titel sagen möchte....i flippe aus, da ich es nicht hin bekomme ein ResultSEt in ein JTable abzubilden.....ich bekomme immer folgede Fehlermeldung ausgegeben: Exception occurred during event dispatching: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 Aber jetzt mal....Hallo ihr JavaProfis, ich habe ja oben mein Probem geschildert. Es kann natürlich sein, dass ich den BAum im Wald nicht finde, aber ich komme einfach nicht mehr weiter.... Hier der Quelltext meiner Klasse für die DefaultTableModel - Klasse: Code: import java.sql.*;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
publicclass NewTableModel extends DefaultTableModel {
Connection con;
Statement stmt;
ResultSet rs;
ResultSetMetaData rsmd;
Vector tableAll = new Vector();
Vector rowContent = new Vector();
int colCount;
Vector hans = new Vector();
public NewTableModel(){
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Automatisch erstellter Catch-Block
e.printStackTrace();
}
try {
con = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/SQLSERVER;root;root");
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT * FROM benutzer");
rsmd = rs.getMetaData();
colCount = rsmd.getColumnCount();
} catch (SQLException e1) {
// TODO Automatisch erstellter Catch-Block
e1.printStackTrace();
}
try {
while(rs.next()){
for(int m = 0; m < colCount; m++){
rowContent.add(rs.getString(m + 1));
}
tableAll.addElement(rowContent);
rowContent.clear();
}
} catch (SQLException e) {
// TODO Automatisch erstellter Catch-Block
e.printStackTrace();
}
}
/* (Kein Javadoc)
* @see javax.swing.table.AbstractTableModel#getValueAt(int, int)
*/
}
} catch (SQLException e) {
// TODO Automatisch erstellter Catch-Block
e.printStackTrace();
}
}
public Object getValueAt(int arg0, int arg1) {
// TODO Automatisch erstellter Methoden-Stub
hans = (Vector) tableAll.get(arg1);eil
return hans.get(arg0);<<der Fehler zeigt auf diese Zeile
}
/* (Kein Javadoc)
* @see javax.swing.table.AbstractTableModel#getColumnCount()
*/
public int getColumnCount() {
// TODO Automatisch erstellter Methoden-Stub
return 5;
}
/* (Kein Javadoc)
* @see javax.swing.table.AbstractTableModel#getRowCount()
*/
public int getRowCount() {
// TODO Automatisch erstellter Methoden-Stub
return 2;
}
}
Ich danke schon mal den Leuten des Javahimmels.... schönen ABend noch ich |
|
| | Nach oben #2 |
| Gast
Beiträge: n/a
|
Hi Beim ResultSet beginnt die erste Spalte mit dem Index 1.. Das ist zwar sehr verwirrend aber es wird wohl seine Gründe haben. Konkret löst du das Problem mit Code: while(rs.next()){
for(int m = 1; m < colCount; m++){
rowContent.add(rs.getString(m + 1));
}
}
|
|
| | Nach oben #3 |
| Gast
Beiträge: n/a
|
HI LoC, ich spreche die Spalte auch mit m +1 an, so dass der erste Spaltenindex auch eins ist....aber trotzdem merci für die Hilfe.... Lösung hab dem ganzen einfach u.a. einetry/catch ArrayIndexOutOfBoundsException eingefügt und dann lief die kiste... bis die tage, sei bamboocha, ich |
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |