J'ai un objet ResultSet contenant toutes les lignes retournées d'une requête SQL. P>
Je veux être capable de (dans le code Java, ne pas le forcer dans le SQL) de pouvoir prendre des résultatsset et de le transformer afin de ne contenir que 1 (la première) rangée. P>
Quel serait le moyen de la réaliser? En outre, y a-t-il une autre classe appropriée (quelque part dans Java.SQL ou ailleurs) pour stocker une seule ligne plutôt que de couper mes résultatsset? P>
Merci! P>
4 Réponses :
Cela ressemble à ce dont j'ai besoin - pourriez-vous me montrer un exemple de la manière dont je voudrais utiliser cela pour prendre des résultatsset existants (éventuellement contenant de nombreuses lignes) et le modifier (ou créer un nouveau résultatsset) ne contenant que la première ligne? Je suis juste confus sur la façon dont j'utiliserais cela étant donné que l'objet ResultSet est déjà créé. Merci
@LLM Pourquoi voudriez-vous faire cela sur un résultateur existant plutôt qu'auparavant que la déclaration n'est exécutée? Vous perdez la possibilité que le pilote optimise la requête ne renvoie que les données dont vous avez besoin.
Vous faites référence à la nécessité de à la place, je vous recommanderais de lire la première ligne de votre code> Resultset code> dans un pojo, peut-être utiliser les classes utilitaires JDBC de Springs (E.G. ResultSet code> est probablement une mauvaise idée Strong> Comme il sera généralement consommé des ressources de base de données jusqu'à fermé (par exemple, le
java.sql.connection code>). P>
Rowmapper code>) pour y parvenir concis. Immédiatement après cela,
RESUNTSED CODE> et associé
instruction code> et
Connexion code> (ou laissez le ressort de le faire pour vous) . p>
dans le but de simplement limiter le nombre de lignes dans un comme pour une classe spécifique pouvant contenir une seule ligne, cela dépend vraiment de ce que vous vouloir faire avec les données. Vous pouvez par exemple, vous pouvez simplement extraire le contenu de la
En SQLite, vous pouvez limiter le nombre de lignes faisant:
"SELECT * FROM YOURTABLE ORDER BY YOURCOLUMN ASC LIMIT 3 OFFSET 3;