2009-11-15 2 views
0

J'essaie d'obtenir un nombre record d'une table dans sqlite3 sur l'iphone afin que je puisse faire une petite allocation de mémoire dynamique. Mais, quand je cours le code suivant, j'obtiens un compte d'enregistrement de zéro. La base de données est ouverte (j'ai plus de code immédiatement après cela qui récupère les lignes de la table qui m'intéresse). Je ne peux pas obtenir un nombre record.Obtenir un nombre d'enregistrements à partir d'un sqlite3 iphone DB

sqlite3_stmt *stmt = nil; 

const char *countSql = "select count(*) from users;"; 
if (sqlite3_prepare(db, countSql, -1, &stmt, NULL) != SQLITE_OK) { 
    NSAssert1 (0, @"error preparing count statement", sqlite3_errmsg(db)); 
} else { 
    for (int i = 0; i < 3; i++) { 
     usersCnt = sqlite3_column_int(stmt, i); 
     NSLog(@"usersCnt %d", usersCnt); 
    } 
} 
sqlite3_finalize(stmt); 

Les seules raisons pour lesquelles je suis Boucler dans i (1 - 3) est de vérifier que je ne reçois pas le nombre de retour dans une colonne, je ne pense pas.

Les codes impressions:

2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0 
2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0 
2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0 

Répondre

2

Votre code manque sqlite3_step()

+0

il est presque comme les gens attendent le rafraîchissant que l'écran sans cesse, à la recherche de questions qu'ils connaissent la réponse à :) Merci un million, c'est incroyable ce que la myopie fait même après un copier-coller. – KevinDTimm

+0

si seulement je pouvais faire le reste de mes critiques de code fait rapidement, la vie serait GRAND! – KevinDTimm

Questions connexes