Hey Leute, ich hab folgendes Problem wenn ich Daten aus meiner Datenbank in den Jtable Lade ersetzt er die leeren werte durch den Schriftzug null, ich hab jetzt versucht null zu ersetzen aber das funktioniert irgenwie nicht. Hab leider noch nicht so viel Erfahrung und auch leider nicht im Internet gefunden
Java:
public DefaultTableModel DatenbankLaden() {
DefaultTableModel dtm = new DefaultTableModel() {
@Override
public Class getColumnClass(int column) {
for (int row = 0; row < getRowCount(); row++) {
Object o = getValueAt(row, column);
if (o != null) {
return o.getClass();
}
}
return Object.class;
}
};
try {
populate(dtm);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Laden Fehlgeschlagen");
}
int rows = dtm.getRowCount();
for (int i = 0; i < rows; i++) { //hier
for (int j = 0; j <= 14; j++) {
Object ob = dtm.getValueAt(i, j);
if (ob == null || ob.toString().isEmpty()) {
dtm.setValueAt("", i, j);
}
}
}
return dtm;
}
private TableModel populate(DefaultTableModel model) {
try {
model.addColumn("Auftragsnummer");
model.addColumn("Auftragsdatum");
model.addColumn("Auftraggeber");
model.addColumn("Telefon");
model.addColumn("E-mail");
model.addColumn("Lieferadresse");
model.addColumn("Beschreibung");
model.addColumn("Fertigungszeit");
model.addColumn("Fertigungsbeginn");
model.addColumn("Fertiggestellt");
model.addColumn("Lieferzeit");
model.addColumn("Versenden");
model.addColumn("Versendet");
model.addColumn("Beim Kunden");
model.addColumn("Auftragerledigt");
con = DriverManager.getConnection("jdbc:derby://localhost:1527/meinedb", "root", "root123");
String sql = "SELECT * FROM ROOT.AUFTRÄGE ";
Statement S = con.createStatement();
rst = S.executeQuery(sql);
while (rst.next()) {
nummer++;
model.addRow(new Object[]{
rst.getInt(1),
rst.getString(2),
rst.getString(3),
rst.getString(4),
rst.getString(5),
rst.getString(6),
rst.getString(7),
rst.getInt(8),
rst.getString(9),
rst.getBoolean(10),
rst.getInt(11),
rst.getString(12),
rst.getBoolean(13),
rst.getString(14),
rst.getBoolean(15)
});
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
return model;
}