Portal > Foren > Java > Allgemeine Java-Programmierung > ResultSet ins JTable = AAHHHHH ==> Array index out of range: 0
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 10.06.2005, 22:18 Nach oben    #1
bamboocha
Gast
 
Beiträge: n/a
Standard ResultSet ins JTable = AAHHHHH ==> Array index out of range: 0

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;
 
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
}
die größen der TAbelle hab ich auf fünf Spalten bzw. 2 Zeilen gesetzt, da ich momentan nur so viele werte in der Tabelle hab....


Ich danke schon mal den Leuten des Javahimmels....

schönen ABend noch

ich


 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.06.2005, 08:41 Nach oben    #2
LordOfCodes
Gast
 
Beiträge: n/a
Standard

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));
  }
}
Greets
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.06.2005, 09:30 Nach oben    #3
bamboocha
Gast
 
Beiträge: n/a
Standard merci dir.....es funzt

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
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.06.2005, 13:08 Nach oben    #4
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Oh, das hab ich übersehen...
Naja, wenns läuft, dann ist ja gut. Aber werden auch alle Datensätze angezeigt?

Greets
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:42 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44