私は以下のコードを持っています。データベースに4レコードありますが、ループは2回実行されます。Sqlite Iphoneを使ってデータベースに行を挿入する
- (void) getAllRowsFromTableName:(NSString *)tableName{
NSString *qsql = [NSString stringWithFormat:@"SELECT * FROM '%@'",tableName];
NSLog(@"query is :%@",qsql);
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(db,[qsql UTF8String] , -1, &statement,nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
NSLog(@"loop");
int catId = sqlite3_column_int(statement, 1);
NSLog(@"***CatId is :%d",catId);
sqlite3_finalize(statement);
}
sqlite3_finalize(statement);
}
はsqlite3_finalize(文)コメントをお試しください。 whileループの内側。 – Ravin
はいu r正しいsqlite3_finalize(ステートメント)をコメントします。 whileループの中で私のコードはうまくいきましたRavinに感謝します。 – user1242803
@ user1242803:あなたがRavinの答えに満足したら、彼の答えを受け入れる....このリンクをチェックしてください.. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Aravindhan