From 30c38f78018c160fdeb44175e4ef97f0c2868b37 Mon Sep 17 00:00:00 2001 From: polo Date: Sat, 15 Feb 2025 15:25:40 +0100 Subject: release candidate 3 --- src/modele/dao/ResultObject.java | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/modele/dao/ResultObject.java (limited to 'src/modele/dao/ResultObject.java') diff --git a/src/modele/dao/ResultObject.java b/src/modele/dao/ResultObject.java new file mode 100644 index 0000000..7f91824 --- /dev/null +++ b/src/modele/dao/ResultObject.java @@ -0,0 +1,46 @@ +package modele.dao; + +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; + +/** + * conteneur pour ResultSet dans le cas d'un SELECT, + * les valeurs des HashMap sont des "Object" pour gérer tous les types de données + */ +public class ResultObject +{ + private final ArrayList> data = new ArrayList<>(); + + /** + * copie du ResultSet dans une ArrayList composée d'HashMap + * @param rs instance de ResultSet + * @throws SQLException en cas d'erreur avec le ResultSet + */ + public ResultObject(ResultSet rs) throws SQLException + { + ResultSetMetaData metaData = rs.getMetaData(); + int columnCount = metaData.getColumnCount(); + + while(rs.next()) + { + HashMap row = new HashMap<>(); + for (int i = 1; i <= columnCount; i++) + { + row.put(metaData.getColumnName(i), rs.getObject(i)); + } + data.add(row); + } + } + + /** + * à utiliser dans la boucle permettant de parcourir la liste + * @return retourne la liste encapsulée + */ + public ArrayList> getData() + { + return data; + } +} -- cgit v1.2.3