Hallo, ich schreib zur Übung gerade ein kleines Programm, des eine Verbindung mit einer PostgreSql-Datenbank hat. Es soll ein simples Kundenverwaltungsprogramm darstellen, mit einer simplen eingabe Maske(Vorname, Nachname, Straße usw.) und einer JTable, die die einträge aus der Datenbank dynamisch darstellen soll. Dafür hab ich ein DefaultTableModel, des die Daten auch einwandfrei aus der DB rausholt, und in der Systemausgabe auch alle Daten anzeigt. Ich schaffe es jetzt nur nicht, die Daten in die JTable zu bekommen....
Ich hab eine Klasse Visual, wo die Swing-Oberfläche drinn steht:
und eine Klasse wo die Funktionen stehn:
Wäre super wenn Ihr mir helfen könntet...
Ich hab eine Klasse Visual, wo die Swing-Oberfläche drinn steht:
Code:
public static JTable table1;
table1 = new JTable();
table1.setModel(Functions.data);
scrollPane= new JScrollPane(table1);
Code:
public static DefaultTableModel data = new DefaultTableModel();
public static void showdata ()
{
try
{
Statement statement = Database.conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet resultSet = statement.executeQuery ("SELECT * from kunden");
ResultSetMetaData rsmd = null;
int clmCnt = -1;
try {
rsmd = resultSet.getMetaData();
clmCnt = rsmd.getColumnCount();
} catch (SQLException e) {
e.printStackTrace();
}
if (rsmd == null || clmCnt == -1) {
throw new RuntimeException("rsmd is null");
}
try {
resultSet.first();
resultSet.last();
int rowCnt = resultSet.getRow();
resultSet.first();
Object[][] odata = new Object[rowCnt][clmCnt];
Object[] clmHeaders = new Object[clmCnt];
for (int i = 1; i <= clmCnt; i++) {
clmHeaders[i - 1] = rsmd.getColumnName(i);
}
int row = 0;
while (resultSet.next()) {
for (int i = 1; i <= clmCnt; i++) {
System.out.print(resultSet.getString(i) + " ");
odata[row][i - 1] = resultSet.getString(i);
}
row++;
System.out.println();
}
data.setDataVector(odata, clmHeaders);
}
catch (SQLException e1) {
e1.printStackTrace();
}
resultSet.close ();
statement.close ();
}
catch (SQLException e)
{
e.printStackTrace ();
System.exit (1);
}
data.fireTableStructureChanged();
data.fireTableDataChanged();
}
Wäre super wenn Ihr mir helfen könntet...