1
我想獲取插入到sqlite數據庫中的所有記錄:Favorite table。我寫了下面的代碼:從數據庫中獲取所有記錄。 它給我的記錄,但第一條記錄沒有顯示...iOS Sqlite數據庫不顯示第一條記錄
例如:如果表有3條記錄 它給我只有2條記錄第一條記錄丟失。 當我使用SQLite經理它顯示我正確的3條記錄執行查詢..
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
{
// Setup the SQL Statement and compile it for faster access
NSString *sqlStatement = @"SELECT * FROM Favorite ;";
sqlite3_stmt *compiledStatement;
NSLog(@"Database returned error %d: %s", sqlite3_errcode(database), sqlite3_errmsg(database));
if(sqlite3_prepare_v2(database, [sqlStatement UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK)
{
NSLog(@"srow==%d",sqlite3_step(compiledStatement));
while(sqlite3_step(compiledStatement) == SQLITE_ROW)
{
// title
NSString *fti=[NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement,0)];
NSString * ftitle = [[NSString alloc]initWithFormat:@"%@",fti];
[app.favdbTitle addObject:ftitle];
NSLog(@"ttile==%@",ftitle);
//desc
NSString *fdes=[NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement,1)];
NSString * fdesc = [[NSString alloc]initWithFormat:@"%@",fdes];
[app.favdbDec addObject:fdesc];
int favno=sqlite3_column_int(compiledStatement, 2);
NSInteger fvno=favno;
[app.favdbid addObject:[NSString stringWithFormat:@"%ld", (long)fvno]];
//cat 1
NSString *fca1=[NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement,3)];
NSString * fcate1 = [[NSString alloc]initWithFormat:@"%@",fca1];
[app.favcat1 addObject:fcate1];
//cat 2
NSString *fca2=[NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement,4)];
NSString * fcate2 = [[NSString alloc]initWithFormat:@"%@",fca2];
[app.favcat2 addObject:fcate2];
//cat 2
NSString *fca3=[NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement,5)];
NSString * fcate3 = [[NSString alloc]initWithFormat:@"%@",fca3];
[app.favcat3 addObject:fcate3];
}
}
// Release the compiled statement from memory
sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);
@trojanfoe謝謝,是工作在自定義對象 – Amitkumar 2014-11-06 07:24:27