Anzahl der Elemente im ResultSet ermitteln

Status
Nicht offen für weitere Antworten.

Donar

Mitglied
Hallo ihr lieben,

es ist für meine kleine Anwendung die Anzahl der Elemente in meinem ResultSet ermitteln. Für ein Array ist das relativ einfach möglich durch: array.length(). Gibt es eine Möglichkeit für das ResultSet?

Mein rs ist wie folgt beschrieben:
Code:
...
String query = "select spalte from table";
ResultSet  rs = null;
rs = statement.executeQuery(query);
...
 

Landei

Top Contributor
Wofür genau brauchst du das? Wenn du "sowieso" Objekte aus dem Result-Set erzeugst, kannst du sie ja in einer Liste (zwischen-)speichern, und da kannst du am Ende mit size() die Größe abfragen.
Ansonsten eben DocRandoms Lösung mit SELECT count(*) FROM tabelle
Du kannst auch die Anzahl der zurückgelieferten Sätze in den meisten DB begrenzen mit Select Top(100)... oder Select Top(10%) ...
 

Donar

Mitglied
Hallo ihr beiden,

es war nur eine allgemeine Frage, weil ich denke, dass ich diese Ausdrücke noch früh genug benötigen werde.

Ich denke, dass alle Lösungen funktionieren. Dazu habe ich noch diese gefunden:

Code:
ResultSet rs = st.executeQuery(query);
rs.last();
int anzahlRs = rs.getRow();

Vielen Dank an euch
 
M

maki

Gast
>> es war nur eine allgemeine Frage, weil ich denke, dass ich diese Ausdrücke noch früh genug benötigen werde.


Hab das noch nie gebraucht, siehe Landeis Post ;)
 

Lim_Dul

Top Contributor
Donar hat gesagt.:
Hallo ihr beiden,

es war nur eine allgemeine Frage, weil ich denke, dass ich diese Ausdrücke noch früh genug benötigen werde.

Ich denke, dass alle Lösungen funktionieren. Dazu habe ich noch diese gefunden:

Code:
ResultSet rs = st.executeQuery(query);
rs.last();
int anzahlRs = rs.getRow();

Vielen Dank an euch

Der Nachteil an der Lösung dürfte aber sein, dass die Datenbank tatsächlich alle Ergebniszeilen übertragen muss. Das kann je nach Menge schonmal länger dauern. Sprich, man wartet dann eventuell etwas auf das Ergebnis. Und wenn die Ergebniszeilen nicht alle braucht ist es Resourcen-Verschwendung.
 

robertpic71

Bekanntes Mitglied
Lim_Dul hat gesagt.:
Der Nachteil an der Lösung dürfte aber sein, dass die Datenbank tatsächlich alle Ergebniszeilen übertragen muss. Das kann je nach Menge schonmal länger dauern. Sprich, man wartet dann eventuell etwas auf das Ergebnis. Und wenn die Ergebniszeilen nicht alle braucht ist es Resourcen-Verschwendung.
Yep.

Ein Count(*) ist auf jeden Fall billiger was die Resourcen angeht!

Typischer Anwendungsfall ist das Implementieren einer Pagingfunktion. Ich sage einmal, bis 10.000 Zeilen ist das komplette Lesen auch noch kein Problem. Bei großen Datenbeständen kann das aber zum Problem werden. Wenn man dann unbedingt die Info 1 / von X Seiten anbieten will, bietet sich dafür der count(*) an. Die gewünschten Seiten werden dann mit LIMIT/OFFSET bzw. TOP bzw. row_number() - Syntax je nach Datenbank (oder Hibernate) geladen.

/Robert
 

DocRandom

Top Contributor
>>> Ein Count(*) ist auf jeden Fall billiger was die Resourcen angeht!
...ä´hm steht auch in dem von mir gepostetem Link ;)

lg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ruutaiokwu Duplikate auf bestimmte Anzahl begrenzen Datenbankprogrammierung 8
C PostgreSQL Anzahl der Spalten ermitteln Datenbankprogrammierung 2
A Maximale Anzahl offener Cursor überschritten Datenbankprogrammierung 5
OnDemand SQL Query Anzahl der Werte Datenbankprogrammierung 8
Kandum MySQL Anzahl gefundener Datensätze bleibt gleich, auch wenn mehr existieren und ausgegeben werden Datenbankprogrammierung 3
S Anzahl Datensätze in db4o Datenbankprogrammierung 2
N Prepared Statement mit unbekannter Anzahl von Where-Clauses Datenbankprogrammierung 30
B Die Anzahl der Datensaetze einer Datenbank anzeigen Datenbankprogrammierung 2
Guybrush Threepwood H2: Anzahl an Usern begrenzen Datenbankprogrammierung 2
I MySQL - Anzahl Tabellen heraus finden Datenbankprogrammierung 6
A Maximale Anzahl offener Cursor überschritten Datenbankprogrammierung 4
I Anzahl unterschiedlicher Datensätze ausgeben Datenbankprogrammierung 2
J Maximale Anzahl von char in SQL Datenbankprogrammierung 11
E Maximale Anzahl offener Cursor Datenbankprogrammierung 9
W Anzahl der Spalten eines ResultSets bestimmen Datenbankprogrammierung 5
A Maximale Anzahl offener Cursor erreicht Datenbankprogrammierung 3
Z Zeilen-Anzahl abfragen bei Datenbank Datenbankprogrammierung 4
G Anzahl der Datensaetze abfragen Datenbankprogrammierung 11
rambozola große anzahl an inserts bei oracle db unperformant Datenbankprogrammierung 15
S Anzahl geänderte Records Datenbankprogrammierung 2
V Anzahl der Datensätze abfragen Datenbankprogrammierung 9
B PreparedStatement - anzahl ParameterValues Datenbankprogrammierung 6
M Anzahl der Tabellen herausfinden Datenbankprogrammierung 6
M begrenzte anzahl von resultsets pro connection?? Datenbankprogrammierung 6
D Anzahl der zurückgelieferten Datensätze Datenbankprogrammierung 2
S MySQL Elemente der Datenbank Datenbankprogrammierung 7
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
K Tabelle mit resultset refreshen? Datenbankprogrammierung 4
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
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

Ähnliche Java Themen

Neue Themen


Oben