Resultset in JTable

Times

Bekanntes Mitglied
Hallo liebe Java-Forum Community,

ich weiss nicht ob es noch mehrere von meiner Sorte gibt, aber ich habe nun stundenlang nach einer einfachen vernünftigen und funktionierenden Lösung gesucht um ein ResultSet in eine JTable zu bekommen. Nun, heute habe ich erneut ein wenig gegooglet und erneut neue Stichworte versucht und dann war es endlich soweit.. es funktioniert und sieht recht einfach aus.

Ich meine ich habe auch andere Lösungen gefunden, aber diese haben mich alle nicht wirklich überzeugt, da diese in den meisten Fällen über mehrere Klassen hinüber gingen und ich irgendwie wusste das es auch einfacher gehen muss.

Ich hoffe ich darf den Link hier posten:

ResultSet to TableModel


LG Times :)
 
S

SlaterB

Gast
naja, das ist ja wirklich die rudimentärste Variante die geht,
wenn man irgendeine Vorstellung hat was ein TableModel ist (columns + data einfügen)
und was ein ResultSet ist (Metadaten liefert u.a. Colums, mit Schleife durchlaufen)
dann hat man das praktisch von selbst ;)

aber bitte
 

Maybe

Mitglied
Hatte auch mal ähnliches Problem. Habe einfach das ResultSet in ein mehrdimensionales String-Array verpkackt und diesen dann dem TableModel übergeben:

Java:
String[][] datenbankdaten;
        try {


            // SQL Query an Server senden
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(SQLQuery);

            // Spalten zählen
            ResultSetMetaData rsMetaData = rs.getMetaData();
            int anzahlSpalten = rsMetaData.getColumnCount();
            int anzahlZeilen = 0;
            
            

            // ermittle Anzahl der Zeilen
      while (rs.next()) {
       anzahlZeilen++;
       }
            
            // Setze Cursor in ResultSet an den Anfang
           rs.beforeFirst();

            datenbankdaten = new String[anzahlZeilen][anzahlSpalten+1];
            // System.out.println("Spalten: " + anzahlSpalten + "\nZeilen: "+ anzahlZeilen);

            // Schreibe Tabelle in Array "datenbankdaten"
            int zeilen = 0;
            while (rs.next()) {
                    // Spalten
                    for (int j = 0; j < anzahlSpalten; j++) {
                        datenbankdaten[zeilen][j] = rs.getString(j + 1);
                    }
                zeilen++;
                }
            
            
            st.close();
            rs.close();
            
            return datenbankdaten;
 

Times

Bekanntes Mitglied
Hui.. da gefällt mir deine Antwort doch schon viel besser als mein gepostetes Ergebnis..

vielen lieben Dank :) :toll:
 

Ähnliche Java Themen


Oben