summaryrefslogtreecommitdiff
path: root/src/modele/dao/ResultObject.java
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-02-15 15:25:40 +0100
committerpolo <ordipolo@gmx.fr>2025-02-15 15:25:40 +0100
commit30c38f78018c160fdeb44175e4ef97f0c2868b37 (patch)
treeb785851b95bac67305212d9da076fcdb62872d26 /src/modele/dao/ResultObject.java
parentefed27a703022ecb366a301340f5fcbb8135a2fd (diff)
downloadJDBC-30c38f78018c160fdeb44175e4ef97f0c2868b37.zip
release candidate 3
Diffstat (limited to 'src/modele/dao/ResultObject.java')
-rw-r--r--src/modele/dao/ResultObject.java46
1 files changed, 46 insertions, 0 deletions
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 @@
1package modele.dao;
2
3import java.sql.ResultSet;
4import java.sql.ResultSetMetaData;
5import java.sql.SQLException;
6import java.util.ArrayList;
7import java.util.HashMap;
8
9/**
10 * conteneur pour ResultSet dans le cas d'un SELECT,
11 * les valeurs des HashMap sont des "Object" pour gérer tous les types de données
12 */
13public class ResultObject
14{
15 private final ArrayList<HashMap<String, Object>> data = new ArrayList<>();
16
17 /**
18 * copie du ResultSet dans une ArrayList composée d'HashMap
19 * @param rs instance de ResultSet
20 * @throws SQLException en cas d'erreur avec le ResultSet
21 */
22 public ResultObject(ResultSet rs) throws SQLException
23 {
24 ResultSetMetaData metaData = rs.getMetaData();
25 int columnCount = metaData.getColumnCount();
26
27 while(rs.next())
28 {
29 HashMap<String, Object> row = new HashMap<>();
30 for (int i = 1; i <= columnCount; i++)
31 {
32 row.put(metaData.getColumnName(i), rs.getObject(i));
33 }
34 data.add(row);
35 }
36 }
37
38 /**
39 * à utiliser dans la boucle permettant de parcourir la liste
40 * @return retourne la liste encapsulée
41 */
42 public ArrayList<HashMap<String, Object>> getData()
43 {
44 return data;
45 }
46}