Juste super pour les noobs comme moi vous vous demandez comment ce que l'on entend par
PRAGMA table_info('table_name')
Vous souhaitez utiliser comme votre instruction prepare comme indiqué ci-dessous. Ce faisant sélectionne une table qui ressemble à cette exception est rempli avec les valeurs relatives à votre table.
cid name type notnull dflt_value pk
---------- ---------- ---------- ---------- ---------- ----------
0 id integer 99 1
1 name 0 0
Où l'id et le nom sont les noms réels de vos colonnes. Donc, pour obtenir cette valeur, vous devez sélectionner le nom de colonne à l'aide de:
//returns the name
sqlite3_column_text(stmt, 1);
//returns the type
sqlite3_column_text(stmt, 2);
Qui sera de retour de la ligne en cours de nom de la colonne. Pour saisir tous les ou trouver celui que vous voulez vous avez besoin de parcourir toutes les lignes. La plus simple façon de le faire serait de la manière ci-dessous.
//where rc is an int variable if wondering :/
rc = sqlite3_prepare_v2(dbPointer, "pragma table_info ('your table name goes here')", -1, &stmt, NULL);
if (rc==SQLITE_OK)
{
//will continue to go down the rows (columns in your table) till there are no more
while(sqlite3_step(stmt) == SQLITE_ROW)
{
sprintf(colName, "%s", sqlite3_column_text(stmt, 1));
//do something with colName because it contains the column's name
}
}