Bonjour,
je débute actuellement avec la librairie SQLite en C, et je cherche une méthode propre pour récupérer les résultats de mes requêtes.
Les exemples pour le C ne sont pas très abondants sur Internet, et je n’ai pas trouvé ce que je cherche.
Pour récupérer les données, il y a la méthode avec les callbacks, très simple, d’ailleurs il y a un petit exemple basique au bas de cette page.
La fonction callback est appelée récursivement par la fonction sqlite3_exec(…) pour chaque ligne répondant à la requête. Dans l’exemple on affiche immédiatement le résultat avec un printf à l’intérieur même de la fonction callback.
Cependant cette méthode ne me convient pas vraiement, parce que je récupère des données dans des tables pour les afficher dans une interface GTK. Si j’emploie cette méthode, ce serai la fonction callback qui remplirai l’interface directement, et ce n’est pas propre. Je veux séparer interface et gestion de la base de données.
Le mieux serait donc que j’arrive à faire une fonction qui exécute les requêtes, et qui renvoie les résultats à la fonction appelante. Prototype du genre:
void sql_request(int *argc, char **argv).
Là je pourrais appeler la fonction sql_request(…) depuis une fonction de mon interface GTK, et elle me retournerai les résultats sous forme de “chaines” que je pourrais afficher ensuite.
Donc je ne sais pas comment faire. Quelqu’un a t-il une solution à me proposer?
Je vous remercie, bye.