Wie bekomme ich nur die erste Zeile von einem java.sql.ResultSet?

8

Ich habe ein ResultSet-Objekt, das alle von einer SQL-Abfrage zurückgegebenen Zeilen enthält.

Ich möchte (im Java-Code, NICHT erzwingen in der SQL) in der Lage sein, ein ResultSet zu nehmen und es so zu transformieren, dass es nur 1 (die erste) Zeile enthält.

Was wäre der Weg dies zu erreichen? Gibt es auch eine andere geeignete Klasse (irgendwo in java.sql oder anderswo), um nur eine einzelne Zeile zu speichern, anstatt mein ResultSet zu trimmen?

Danke!

    
llm 19.04.2010, 13:55
quelle

4 Antworten

15

Nur die Anzahl der Zeilen in begrenzen Ergebnismenge können Sie Folgendes tun:

%Vor%

Wie für eine bestimmte Klasse, die nur eine Zeile enthalten kann, hängt das wirklich davon ab, was Sie mit den Daten machen wollen. Sie könnten zum Beispiel nur den Inhalt der Ergebnismenge und speichern Sie sie in einem Array, oder wenn Sie Namen und Werte benötigen, ein Karte . Sie könnten die Daten auch einfach in ein POJO einlesen, wenn Sie lieber mit einem bestimmten Objekt als mit einer generischen Datenstruktur arbeiten möchten.

    
Tendayi Mawushe 19.04.2010, 14:07
quelle
5

Siehe Statement.setMaxRows

    
Maurice Perry 19.04.2010 13:58
quelle
4

Sie verweisen auf die Notwendigkeit, eine einzelne Datenzeile zu speichern. In diesem Fall würde ich sagen, dass die Verwendung einer ResultSet wahrscheinlich eine schlechte Idee ist In der Regel werden Datenbankressourcen bis zum Schließen verbraucht (z. B. die zugrunde liegende java.sql.Connection ).

Stattdessen würde ich empfehlen, die erste Zeile von ResultSet in ein POJO zu lesen, vielleicht Spring-JDBC-Dienstprogrammklassen (z. B. RowMapper ) zu verwenden, um dies präzise zu erreichen. Unmittelbar danach schließen das ResultSet und das zugehörige Statement und Connection (oder erlauben Spring, dies für Sie zu tun).

    
Adamski 19.04.2010 14:03
quelle
0

In SQLite können Sie die Anzahl der Zeilen begrenzen:

%Vor%

Dabei steht LIMIT für die Anzahl der gewünschten Zeilen und OFFSET für die Nummer, ab der Sie beginnen möchten.

Ссылка

    
rainer 02.10.2017 12:02
quelle

Tags und Links