Récupérer les données d'une table

Résolu
rapidegoyes Messages postés 138 Date d'inscription samedi 22 février 2020 Statut Membre Dernière intervention 10 mai 2025 - 18 avril 2025 à 10:48
rapidegoyes Messages postés 138 Date d'inscription samedi 22 février 2020 Statut Membre Dernière intervention 10 mai 2025 - 23 avril 2025 à 22:20

Bonjour,

Je code une appli avec Android Studio et java.

Je relève à plusieurs reprises des tensions que je pérennise dans une Bdd archives  affichées dans un listView.

A mon appli j'ai ajouté un graphique à barres pour représenter l'évolution de différents relevés groupés dans ce listView.

J'aimerai récupérer les données d'une colonne et les afficher dans mon graphique à barres.

Ma question: pour cette récupération comment peut-on procéder?

J'ai pensé à l'aide d'une requête et transférer à l'aide de variables.

Où par quel autre moyen?

Merci pour toute aide

très cordialement

rapidegoyes

Linux / Firefox 136.0

5 réponses

BoBot Messages postés 5616 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 11 mai 2025 344
19 avril 2025 à 21:22
Bonjour !
L'IA de Bobot est là pour vous aider !
Pour récupérer les données d'une colonne de votre base de données SQLite, vous pouvez en effet le faire par requête SQL et transférer ensuite les données à l'aide de variables.

Un exemple de requête pour récupérer une seule colonne pourrait être :

```java
Cursor c = db.query( NOM_DE_LA_TABLE,
new String[] {NOM_DE_LA_COLONNE}, // Colonnes à inclure
null, // Colonne pour la clause WHERE ou null pour inclure toutes les lignes
null, // Valeurs pour la clause WHERE
null, // Regrouper par
null, // Filtre pour les lignes de groupe
null // Ordonner par
);
```

Cela renverra un `Cursor` que vous pouvez parcourir pour récupérer les données de votre colonne. Une fois que vous avez les données, vous pouvez les ajouter à une `ArrayList` par exemple, puis les utiliser pour peupler votre graphique.

Optionnellement, si vous voulez trier les données dans un ordre particulier, vous pouvez ajouter un argument de tri à la requête.

Si vous utilisez Room ou une autre bibliothèque d'abstraction de la base de données, elle peut avoir des méthodes plus pratiques pour récupérer des colonnes spécifiques.

N'oubliez pas de fermer le `Cursor` et la base de données une fois que vous avez terminé.

0
rapidegoyes Messages postés 138 Date d'inscription samedi 22 février 2020 Statut Membre Dernière intervention 10 mai 2025 13
20 avril 2025 à 09:56

Bonjour,

Merci pour l'aide.

La grande question pour moi, comment par quelle procédure peut-on parcourir le Cursor pour récupérer mes données.

J'ai déja cheché sur le net mais en vain.

Cordialement

rapidegoyes

0
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 1 579
21 avril 2025 à 14:08

Comment as-tu réussi à ne pas trouver sur le net comment parcourir un curseur pour récupérer tes données?

Quelle question as-tu posée à quel moteur de recherche, ou à quelle AI?

0
rapidegoyes Messages postés 138 Date d'inscription samedi 22 février 2020 Statut Membre Dernière intervention 10 mai 2025 13
Modifié le 21 avril 2025 à 22:21

Bonsoir,

Je consulte Google dans barre d'adresse et non IA .

La requête est codée, maintenant je voudrai passer à l'étape suivante qui est de récupérer mes données afin de les déclarer dans mon Arraylist. Ce dernier je le possède et il me permet de peupler pour visualiser mon graphique à barres.

Ceci dit ci-dessous ma question posée sur le net:

Comment parcourir un Cursor issu d'une requête afin de récupérer les datas pour les placer dans des variables ?

A l'instant j'ai relancé ma recherche au premier abord je pense avoir plus de chance cette fois-ci. Je consulte le site SnowFlake.

Ci-dessous ma procédure pour essayer de coder:

1)---J'exécute ma requête que j'ai codé.

2)---Il me faut parcourir le Cursor pour récupérer les données.(Comment faire?)

3)---J'ai déjà un Arraylist pour peupler mon graphique à barres avec 12 colonnes.

4)---Il me faut 12 variables pour récupérer les datas.

Voici mon ArrayList:

private  ArrayList<BarEntry> getBarEntries() {
        // Creating a new ArrayList
        // Création d'une nouvelle ArrayList
        barEntries = new ArrayList<>();

        // Adding entries to the ArrayList for the first set
        // Ajout d'entrées à l'ArrayList pour le premier ensemble
        barEntries.add(new BarEntry(1f, 138));
        barEntries.add(new BarEntry(2f, sumSyst));
        barEntries.add(new BarEntry(3f, 144));
        barEntries.add(new BarEntry(4f, 136));
        barEntries.add(new BarEntry(5f, result));// transfert de la variable
        barEntries.add(new BarEntry(6f, 0));
        barEntries.add(new BarEntry(7f, 0));
        barEntries.add(new BarEntry(8f, 0));
        barEntries.add(new BarEntry(9f, 0));
        barEntries.add(new BarEntry(10f, 0));
        barEntries.add(new BarEntry(11f, 0));
        barEntries.add(new BarEntry(12f, 0));

        return barEntries;

J'ai déjà essayé avec des variables sumSyst et result issues de mon code pour essai mais cette manière de faire ne fonctionne que pour un relevé de tension.

Pour visualiser l'évolution des tensions il me faut l'ensemble de mes relevés sur 12 jours pérénisés dans ma tables "archives"!

Merci et à +++

Cordialement

rapidegoyes

0
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 1 579
22 avril 2025 à 11:02

Je suggère

  1. d'ajouter, dans la question, "java", et le nom du logiciel de bdd
  2. de retirer, de la question, "récupérer les datas pour les placer dans des variables".  C'est implicite, dans "parcourir".  Placer des données dans des vatiables, c'est la base du langage.
0
rapidegoyes Messages postés 138 Date d'inscription samedi 22 février 2020 Statut Membre Dernière intervention 10 mai 2025 13
22 avril 2025 à 21:16

OK

Sous Android studio avec java parcourir un Cursor issu d'une requête SQLite

Cordialement  a+++

rapidegoyes

0
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 1 579
22 avril 2025 à 22:31

Excellent!  En posant cette question à Gemini, on obtient un exemple de code, avec toutes les explications.

1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rapidegoyes Messages postés 138 Date d'inscription samedi 22 février 2020 Statut Membre Dernière intervention 10 mai 2025 13
23 avril 2025 à 22:20

Bonsoir yg_be

Merci, pour ton aide et orientation. J'ai ouvert une connexion avec Gemini dans Android Studio et posé la question. Je suis surpris par le nombre d'informations et d'explications pertinentes engendrées.

Cordialement a +++

rapidegoyes

0