Hallo, liebe Java Gemeinde,
dies ist mein erster Post. Kurze Vorstellung meinerseits:
ich bin im Ruhestand (73). Habe Erfahrung mit Delphi, Lazarus und QT in der GUI Programmierung insbesondere schwerpunktmäßig mit Datenbanken sammeln dürfen.
Java ist für mich (fast) Neuland, habe aber früher bereits mit Netbeans und openjdk ein bißchen GUI Programmierung gemacht. Das ist allerdings einige Jahre her und mittlerweile ein wenig verblaßt.
Arbeite unter Debian (bookworm), und habe erfolgreich openjdk 17 (komplett) installiert mit der Netbeans IDE 17.1
Die letzten Tage habe ich ausschließlich kleine Java Swing Programme manuell mit Geany erstellt, um die Grundlagen aufzufrischen. Compilieren, Manifest Datei erstellen und jar Dateien erstellen funktioniert ohne Probleme. Jetzt arbeite ich mit Netbeans weiter. In Netbeans habe ich die Embedded Datenbank H2 als neue Library registriert und dann den Treiber ebenfalls installiert. Auch das funktioniert. Dann habe ich mit der H2 Console über meinen Browser Firefox eine neue Datenbank Kontakte angelegt mit einer neuen Tabelle adressen. Diese hat nur 2 Felder ID (integer) und Name (varchar). Ist ja zuerst nur eine kleine Probedatenbank zum Üben. Dann habe ich 5 Datensätze hinzugefügt. Die Verbindung funktioniert, das normale administrieren mit SQL Befehlen ebenfalls.
Nun habe ich in Netbeans ein neues Ant Projekt Datenbank angelegt und einen neuen Swing Frame db_frame. In den Projekteigenschaften habe ich den db_frame als Main Class festgelegt. Dann habe ich einen neuen Button namens Verbindung auf den Frame gelegt und mit einem Event und folgendem Inhalt:
Im Projekt habe ich unter Libraries den Treiber für H2 hinzugefügt.
Dann das ganze compiliert und eine Jar Datei erstellt. Alles funktioniert, die Verbindung wird hergestellt und die 5 Datensätze ausgegeben (allerdings bisher noch auf der Konsole). Nun möchte ich aber das ResultSet (nennt man das so?) in einer JTable ausgeben anstatt auf der Konsole. Wenn ich eine JTable auf den Frame setze, wie bekomme eine Verbindung zwischen dem ResultSet und JTable hin, denn das Ergebnis meiner Abfrage soll ja in der Tabelle JTable dargestellt werden? Hab natürlich recherchiert, aber es gibt so viele Möglichkeiten, die ich noch nicht alle einordnen kann, um die JTable so zu konfigurieren, das der Inhalt angezeigt wird. Hier benötige ich jetzt Eure Hilfe, damit ich weiterkomme.
Ein bißchen Beispielcode wäre sehr hilfreich.
Erst mal vielen Dank, ich hoffe, ich habe genug Angaben gemacht, so das mir weiter geholfen werden kann.
liebe Grüße Burkhard
dies ist mein erster Post. Kurze Vorstellung meinerseits:
ich bin im Ruhestand (73). Habe Erfahrung mit Delphi, Lazarus und QT in der GUI Programmierung insbesondere schwerpunktmäßig mit Datenbanken sammeln dürfen.
Java ist für mich (fast) Neuland, habe aber früher bereits mit Netbeans und openjdk ein bißchen GUI Programmierung gemacht. Das ist allerdings einige Jahre her und mittlerweile ein wenig verblaßt.
Arbeite unter Debian (bookworm), und habe erfolgreich openjdk 17 (komplett) installiert mit der Netbeans IDE 17.1
Die letzten Tage habe ich ausschließlich kleine Java Swing Programme manuell mit Geany erstellt, um die Grundlagen aufzufrischen. Compilieren, Manifest Datei erstellen und jar Dateien erstellen funktioniert ohne Probleme. Jetzt arbeite ich mit Netbeans weiter. In Netbeans habe ich die Embedded Datenbank H2 als neue Library registriert und dann den Treiber ebenfalls installiert. Auch das funktioniert. Dann habe ich mit der H2 Console über meinen Browser Firefox eine neue Datenbank Kontakte angelegt mit einer neuen Tabelle adressen. Diese hat nur 2 Felder ID (integer) und Name (varchar). Ist ja zuerst nur eine kleine Probedatenbank zum Üben. Dann habe ich 5 Datensätze hinzugefügt. Die Verbindung funktioniert, das normale administrieren mit SQL Befehlen ebenfalls.
Nun habe ich in Netbeans ein neues Ant Projekt Datenbank angelegt und einen neuen Swing Frame db_frame. In den Projekteigenschaften habe ich den db_frame als Main Class festgelegt. Dann habe ich einen neuen Button namens Verbindung auf den Frame gelegt und mit einem Event und folgendem Inhalt:
Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String jdbcURL = "jdbc:h2:~/home/burkhard/Arbeit/Entwicklung/Java/db/H2/db/kontakte";
String username = "";
String password = "";
try{
Connection connection = DriverManager.getConnection(jdbcURL, username, password);
JOptionPane.showMessageDialog(null, "Verbindung erfolgreich");
String sql = "SELECT * FROM adressen";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
int count = 0;
while (resultSet.next()) {
count++;
int ID = resultSet.getInt("ID");
String name = resultSet.getString("name");
System.out.println("adressen #" + count + ": " + ID + ", " + name);
}
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
Im Projekt habe ich unter Libraries den Treiber für H2 hinzugefügt.
Dann das ganze compiliert und eine Jar Datei erstellt. Alles funktioniert, die Verbindung wird hergestellt und die 5 Datensätze ausgegeben (allerdings bisher noch auf der Konsole). Nun möchte ich aber das ResultSet (nennt man das so?) in einer JTable ausgeben anstatt auf der Konsole. Wenn ich eine JTable auf den Frame setze, wie bekomme eine Verbindung zwischen dem ResultSet und JTable hin, denn das Ergebnis meiner Abfrage soll ja in der Tabelle JTable dargestellt werden? Hab natürlich recherchiert, aber es gibt so viele Möglichkeiten, die ich noch nicht alle einordnen kann, um die JTable so zu konfigurieren, das der Inhalt angezeigt wird. Hier benötige ich jetzt Eure Hilfe, damit ich weiterkomme.
Ein bißchen Beispielcode wäre sehr hilfreich.
Erst mal vielen Dank, ich hoffe, ich habe genug Angaben gemacht, so das mir weiter geholfen werden kann.
liebe Grüße Burkhard