【发布时间】:2012-09-20 23:26:45
【问题描述】:
当我运行 build ios5.0 或更低版本时,Sqlite 响应正确并检索数据它工作正常,但是当在 ios6.0 上运行时,我试图从 my.sqlite 数据库中获取数据,但它没有执行我的 if 案例。它总是在 else 条件下进入。我在做什么错事?我无法执行我的 if 案例,即if(sqlite3_prepare_v2(database, sqlQuerry, -1, &querryStatement, NULL)==SQLITE_OK).
查看此代码以供参考。
NSLog(@"sqlite3_prepare_v2 = %d SQLITE_OK %d ",sqlite3_prepare_v2(sqlite, [strQuery UTF8String], -1, &compiledStatement, nil),SQLITE_OK);
if(sqlite3_prepare_v2(sqlite, [strQuery UTF8String], -1, &compiledStatement, nil)==SQLITE_OK)
{
NSLog(@"sqlite3_step = %d SQLITE_ROW %d ",sqlite3_step(compiledStatement),SQLITE_ROW);
while (sqlite3_step(compiledStatement)==SQLITE_ROW)
{ if(sqlite3_column_text(compiledStatement, 2) != nil)
modelObj.Name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)];
}
}
else
{
}
iOS6.0上的日志打印
sqlite3_prepare_v2 = 1 SQLITE_OK 0
sqlite3_step = 21 SQLITE_ROW 100
iOS5.0上的日志打印
sqlite3_prepare_v2 = 0 SQLITE_OK 0
sqlite3_step = 100 SQLITE_ROW 100
【问题讨论】:
-
根据您提供的输出,它看起来根本不像进入 else 情况 - 在 iOS5 和 iOS6 中,我们都看到了日志消息。
-
看到这个答案,你可能也有同样的问题:stackoverflow.com/a/6749033/73429
标签: iphone objective-c sqlite ios6