Bonjour,
Je ne savais pas du tout où placer ma question. Faites moi savoir svp si je dois demander à faire déplacer ce sujet.
Dans une boite de dialogue style formulaire, je recueille un const char* derrière un gtk_entry_get_text(). Après validation, je le récupère et l'affiche sans problème. Ensuite je veux insérer cette chaine de caractères dans une base de données avec sqlite.
Voilà ce que j'ai recopié à partir d'un exemple : (http://manishtech.wordpress.com/2009...sqlite-with-c/)
Tout ceci fonctionne très bien. Maintenant je ne sais pas comment m'y prendre pour remplacer 'test_exemple' (qui est donc une chaine "fixée") par la chaine de caractère saisie dans le gtk_entry_get_text() (qui est donc ma variable).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 int retval; int q_cnt = 5,q_size = 150,ind = 0; char **queries = malloc(sizeof(char) * q_cnt * q_size); sqlite3_stmt *stmt; sqlite3 *handle; retval = sqlite3_open("bdd.sqlite3",&handle); if(retval) { printf("Database connection failed\n"); return -1; } printf("Connection successful\n"); char create_table[100] = "CREATE TABLE IF NOT EXISTS people (id INTEGER PRIMARY KEY, nom TEXT)"; retval = sqlite3_exec(handle,create_table,0,0,0); queries[ind++] = "INSERT INTO people VALUES(1, 'test_exemple')"; retval = sqlite3_exec(handle,queries[ind-1],0,0,0); sqlite3_close(handle);
Cela par exemple ne marche pas :
Toutes les solutions que j'ai vues sont en php et j'ai été incapable de trouver une solution dans la documentation de sqlite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 const char *store; //dont la valeur dépend de la saisie de l'utilisateur queries[ind++] = "INSERT INTO people VALUES(1, store)";
Merci pour votre aide.
PS : je sais que ça n'a pas de sens d'utiliser une BDD pour une seule table à une seule colonne. C'est juste un exemple pour isoler mon problème.
Partager