ResultSet in Tabelle schreiben ...

Status
Nicht offen für weitere Antworten.
B

Bernard

Gast
hallo allerseits,

mal kurz vorweg, sehr auskunftsfreudig scheinen einige hier nciht zu sein,
ich hab hier schon zwei einträge zu dem thema gelesen und bei beiden stehen anstatt handfeste
hilfestellungen verweise zu API oder sun tutorials!
also ich weiss nicht wie die unwissenden vormir das handhaben, aber ich hab mich schon 2 tage damit
auseinandergesetzt bevor ich hier etwas frage und hab eben keine antwort gefunden ...

aber ich denke es gibt hier auch leute die einem gerne weiterhelfen und an die wende ich mich hier:

ja die überschrift sagt eh schon alles ...
ich weiss nicht wie ich dynamisch das resultset in eine tabelle bekomme ... das heisst ich habs schon geschafft,
jedoch mich einigen einschränkungen.

konkret:
Code:
            String select1 = "SELECT Lastname, Firstname FROM employees";                   
            ResultSet statementResult = statement1.executeQuery(select1);            
            ResultSetMetaData statementResultMD = statementResult.getMetaData();

            int columns = statementResultMD.getColumnCount();

// FRAGE !!!! wie dimensioniere ich den object array dynamisch richtig !!!
// ich finde keine information über die anzahl der einträge der spalte ...
// wie man sieht gebe ich die zahl 10 fix vor ...
            Object[][] selectData = new Object[10][columns];

            String[] selectDataStr = new String[columns];

            // die spaltennamen auslesen
            for (i=0; i<columns; i++)
            {
                selectDataStr[i] = statementResultMD.getColumnName(i+1);
            }

            // aus dem ResultSet die daten in einen object array schreiben 
            while (statementResult.next())
            {
                for (i=0; i<columns; i++)
                {
                    selectData[ii][i] = statementResult.getObject(i+1);
                }
                ii++;                
            }

            // nun den object array übergeben samt spaltenüberschriften
            jTable1.setModel(new javax.swing.table.DefaultTableModel(
                selectData, selectDataStr ));

nunja ... ich hab nur das notwendigste rausgenommen ... und hoffe das zeigt euch schon die mängel

es erscheint mir auch ein wenig komisch diese lösung, denn um in der tabelle das richtige ergebnis
zu bekommen muss das resultset in den object array (den ich später an die tabelle als model übergebe)
recht kryptisch einlesen ... anstatt alle werte einer spalte aus dem resultset in eine "spalte" des arrays zu
lesen muss ich die spalten des resultsets immer in den ersten index der spalten des object arrays schreiben
um dann in der tabelle eine korrekte spalte zu bekommen (also die einträge untereinandern)
hoffe das war halbwegs verständlich*G



wenn jemand eine noch elegantere lösung hat ... ich bitte darum

mfg besten dank und guter hoffnung,
bernard
 
B

Beni

Gast
Verwende doch eine java.util.LinkedList um die Daten auszulesen:
Code:
LinkedList list = new LinkedList();

while (statementResult.next()){
  Object[] data = new Object[ columns ];
  list.addLast( data );

  for (i=0; i<columns; i++){
    data[i] = statementResult.getObject(i+1);
  }
}

Object [][] data = (Object[][]) list.toArray( new Object[ list.size() ][] );

Beni
 

citizen_erased

Bekanntes Mitglied
hmm.. also wenn es darum geht, zu ermitteln, wieviele objekte im resultset enthalten sind, und wie groß du darauf hin deine sammlung dimensionieren musst... stell doch eine anfrage an die datenbank. "SELECT(*) COUNT..." oder wie immer das ging.
 
G

Guest

Gast
Code:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");

//zeiger auf den letzten schieben
rs.last();
//die letzte zeilenzahl soll auch die gleiche mit der Gesamtzeilenzahl sein
int rows = rs.getRow();
//zeiger wieder auf den anfang
rs.first();

//daten verarbeiten
//..


ps: müßte so gehen
hab auch lange gesucht

wie es mit Geschwindigkeiteinbüßen aussieht, wegen der Scrollableeigenschaft weiß ich nicht
 

echnaton12

Mitglied
citizen_erased hat gesagt.:
hmm.. also wenn es darum geht, zu ermitteln, wieviele objekte im resultset enthalten sind, und wie groß du darauf hin deine sammlung dimensionieren musst... stell doch eine anfrage an die datenbank. "SELECT(*) COUNT..." oder wie immer das ging.
Geht aber auch über die Metadaten vom Statement da kannst du alles rauslesen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Tabelle mit resultset refreshen? Datenbankprogrammierung 4
S Tabelle updaten wenn ResultSet aus JDBC-Quelle Datenbankprogrammierung 2
S ResultSet als Parameter an andere Klasse übergeben Datenbankprogrammierung 3
Z ResultSet ist null warum? Datenbankprogrammierung 12
R HSQLDB ResultSet update aktualisiert DB, aber nicht das ResultSet Datenbankprogrammierung 2
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
C PostgreSQL ResultSet.TYPE_SCROLL_SENSITIVE setzen Datenbankprogrammierung 2
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
L Zugriff auf ein Resultset Datenbankprogrammierung 7
L MySQL ResultSet vollständig auslesen Datenbankprogrammierung 20
D Resultset schließen ?? Datenbankprogrammierung 5
T Oracle Resultset to Array sehr langsam. Datenbankprogrammierung 8
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
J SQLite ResultSet closed -- Wiederholende DB-Abfragen Datenbankprogrammierung 6
Z MySQL Probleme mit resultSet executQuery Datenbankprogrammierung 3
L ResultSet Datenbankprogrammierung 1
J wie mit resultset.next() über Datensätze iterieren? Datenbankprogrammierung 15
R MySQL Umgang mit ResultSet/Fremdschlüssel ausgeben Datenbankprogrammierung 2
D MySQL ResultSet als Stream weiter geben Datenbankprogrammierung 9
M ResultSet Cachen Datenbankprogrammierung 3
R ResultSet mit "Untertabellen" Datenbankprogrammierung 4
N SQL-Statement Auslesen des Resultset wird immer langsamer Datenbankprogrammierung 6
R Resultset.last() Problem Datenbankprogrammierung 12
PaulG Leeres ResultSet initialisieren Datenbankprogrammierung 6
J Frage zu ResultSet Datenbankprogrammierung 3
J SQL ResultSet Previous Datenbankprogrammierung 10
S MySQL ResultSet in ein Array übertragen Datenbankprogrammierung 7
H PostgreSQL Objekte aus ResultSet Datenbankprogrammierung 5
H ResultSet is closed tritt bei JSF aber nicht bei einer Java-Applikation auf Datenbankprogrammierung 10
O Oracle Resultset greift auf Spaltenüberschriften zu Datenbankprogrammierung 2
Kenan89 Wieso klappt das ResultSet nicht? Datenbankprogrammierung 3
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
F Derby/JavaDB Resultset in JTablemodel Datenbankprogrammierung 2
F Oracle ResultSet zu einer HashMap<Integer, String[]> Datenbankprogrammierung 6
B SQLite ResultSet is TYPE_FORWARD_ONLY Datenbankprogrammierung 5
T Exception ResultSet Datenbankprogrammierung 7
0 ResultSet in JTable Datenbankprogrammierung 14
S [SQL] ResultSet Datenbankprogrammierung 4
R ResultSet Datenbankprogrammierung 4
I Sonderbehandlung wenn ResultSet leer ist Datenbankprogrammierung 9
I Problem mit ResultSet Datenbankprogrammierung 2
I SQL_Abfrage-Ergebnis (ResultSet) in String[] speichern Datenbankprogrammierung 29
B ResultSet wirft komische NullPointerException. Datenbankprogrammierung 3
R Detached ResultSet Datenbankprogrammierung 3
F generelle Vorgehensweise ResultSet Datenbankprogrammierung 5
S ResultSet Datenbankprogrammierung 2
A MySQL ResultSet.updateBytes schlägt fehl Datenbankprogrammierung 2
F ResultSet kann Datenbank nicht update, warum? Datenbankprogrammierung 3
T ResultSet befehl für leere Spalte nicht lesen Datenbankprogrammierung 4
S ResultSet einer Datenbankabfrage - Nullpointer Exception Datenbankprogrammierung 13
A PostgreSQL anfängerfrage: resultset zeilenweise auslesen Datenbankprogrammierung 2
T MySQL ResultSet zurückgeben nachdem Connection geschlossen wurde? Datenbankprogrammierung 3
K Keine ResultSet bei if in StoredProcedure Datenbankprogrammierung 16
D ResultSet gibt nichts aus. Datenbankprogrammierung 3
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
ARadauer JDBC ResultSet schließen? Datenbankprogrammierung 4
M Oracle Problem mit Resultset Datenbankprogrammierung 11
J jdbc ResultSet types Datenbankprogrammierung 5
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
F ResultSet to String[] Datenbankprogrammierung 3
E ResultSet in HashMap Datenbankprogrammierung 8
M Problem mit ResultSet bei SQL Server 2005 Datenbankprogrammierung 6
S ResultSet in ArrayList ablegen Datenbankprogrammierung 17
G Daten aus ResultSet in String-Liste Datenbankprogrammierung 13
T ResultSet initialisieren Datenbankprogrammierung 2
C kein Resultset Datenbankprogrammierung 2
G ResultSet: String mit Anführungszeichen einlesen Datenbankprogrammierung 8
T ResultSet-Inhalt in Arrays schreiben Datenbankprogrammierung 3
S ResultSet variabel auslesen Datenbankprogrammierung 4
D Anzahl der Elemente im ResultSet ermitteln Datenbankprogrammierung 8
A Leeres ResultSet mit H2 unter Vista Datenbankprogrammierung 3
A Warum ist mein ResultSet leer? Datenbankprogrammierung 5
S ResultSet closed Datenbankprogrammierung 2
Z ResultSet mit einer anderen Datenquelle Datenbankprogrammierung 7
O Spaltenname aus Resultset Datenbankprogrammierung 2
thE_29 ResultSet und doppelte Spalten Datenbankprogrammierung 4
E Neues select auf ein vorhandenes Resultset Datenbankprogrammierung 11
E ResultSet vergisst Reihe? Datenbankprogrammierung 2
N resultset aus andere klasse übergeben Datenbankprogrammierung 3
F ResultSet refresh moeglich? Datenbankprogrammierung 3
S ResultSet enthält keine Daten Datenbankprogrammierung 2
B Geschlossenes ResultSet Datenbankprogrammierung 6
T ResultSet#next Ungültige Reihenfolge (DB2) Datenbankprogrammierung 5
T ResultSet schließen? Datenbankprogrammierung 6
S ResultSet Datenbankprogrammierung 6
F Filtern innerhalb eines Resultset Datenbankprogrammierung 12
S Connection/Statement/ResultSet auf einmal geschlossen Datenbankprogrammierung 8
@ Like-Klausel; NPE bzw. leeres ResultSet Datenbankprogrammierung 4
C Resultset nach connection close weiterreichen Datenbankprogrammierung 5
B No ResultSet was produced Datenbankprogrammierung 2
S ResultSet erweitern ? Datenbankprogrammierung 4
E JDBC, ForwardOnly bei ResultSet nach Uebergabe Datenbankprogrammierung 4
R ResultSet liefert oracle.sql.TIMESTAMP, aber unbrauchbar Datenbankprogrammierung 9
A Probleme mit ResultSet und getString(i) Datenbankprogrammierung 13
RaoulDuke ResultSet - Wie arbeitet sowas intern Datenbankprogrammierung 2
N Probleme mit "nur vorwärts gerichtete ResultSet" Datenbankprogrammierung 7
G Für jede SQL-Abfrage eigenes Statement und ResultSet? Datenbankprogrammierung 3
T MAX und ResultSet#next Datenbankprogrammierung 10
R ResultSet zu bestimmtem DS navigieren Datenbankprogrammierung 4
S .leeres Resultset abfangen Datenbankprogrammierung 2

Ähnliche Java Themen


Oben