Situation:
Ich möchte in einem Jtable alle daten von meiner MySQL DB ausgeben lassen.
das funktioniert aber leider nur teilweise...
Hier der abschnitt mit der abfrage der Daten.
Code:
try {
ResultSet rst = st.executeQuery("SELECT * FROM test");
ResultSetMetaData rdata = rst.getMetaData();
int columns = rdata.getColumnCount();
DefaultTableModel dtm = new DefaultTableModel();
Vector columns_name = new Vector();
Vector data_rows = new Vector();
for (int i = 1; i < columns; i++) {
columns_name.addElement(rdata.getColumnName(i));
}
dtm.setColumnIdentifiers(columns_name);
while (rst.next()) {
data_rows = new Vector();
for (int j = 1; j < columns; j++) {
//data_rows.addElement(rs.getString(j));
}
dtm.addRow(data_rows);
}
System.out.println(rdata.getColumnCount());
MainTable.setModel(dtm);
}
catch (SQLException e2)
{
System.out.println(e2);
}
Anscheinend werden die Daten zb. die Rows mit Inhalt nicht weitergegeben.
siehe Foto
Zu meinem problem :
1.Mit System.out.println(rdata.getColumnCount()); findet er zwar 3 Columns aber zeigt mir nur zwei (Artikel,Name) von Preis(das dritte Atribut wird nicht angezeigt)[siehe Foto]
2.Wie schon erwähnt die einzelnen Felder werden nicht mit Inhalt gefüllt.Jedoch ist die Unterteilung vorhanden, sprich jede Zeile.
3. Ich entschuldige mich vielmals für die häufigen fragen aber in dem Gebiet bin ich leider noch ein blutiger Anfänger.Daher bitte ich euch mir bei diesem Problem zu helfen
FOTO:
EDIT:
Okey ...
das zweite Problem wurde gelöst.Nun werden mir die Inhalte angezeigt!
jedoch besteht immernoch das Problem ,dass das Attribute Preis fehlt.
NEW CODE:
Code:
try {
Statement ste;
ResultSet rst;
ste = con.createStatement();
rst = ste.executeQuery("SELECT * FROM hakro");
ResultSetMetaData rdata = rst.getMetaData();
int columns = rdata.getColumnCount();
DefaultTableModel dtm = new DefaultTableModel();
Vector columns_name = new Vector();
Vector data_rows = new Vector();
for (int i = 1; i < columns; i++) {
columns_name.addElement(rdata.getColumnName(i));
}
dtm.setColumnIdentifiers(columns_name);
while (rst.next()) {
data_rows = new Vector();
for (int j = 1; j < columns; j++) {
data_rows.addElement(rst.getString(j));
}
dtm.addRow(data_rows);
}
System.out.println(rdata.getColumnCount());
MainTable.setModel(dtm);
}
catch (SQLException e2)
{
System.out.println(e2);
}
}
Problem 1 wurde auch gelöst!
for (int i = 1; i < columns; i++)
wurde zu
for (int i = 1; i <= columns; i++)
sowie
for (int j = 1; j < columns; i++)
zu
for (int j = 1; j <= columns; i++)
#closed






