sqlite在模拟器/设备上的差异

我有一个应用程序从SQLite数据库中提取信息。它在iPhone模拟器上运行得很好,但是当我在设备上测试时,我什么也得不到。在两者之间使用数据库是否存在差异?我试过看了一遍,找不到任何有帮助的东西。我看到这个问题在谷歌上很常见,我只是没有找到适合我的解决方案。 我已经把断点放入并试图调试它,在实际设备上它永远不会通过
while (sqlite3_step(statement) == SQLITE_ROW)
,它总是返回
SQLITE_DONE
。我无法弄清楚为什么这会在设备上发生变化。任何帮助将不胜感激,有关SQLite的建议,或者代码是否可以改进等等。谢谢。
NSString *qsql = @"SELECT Distinct State FROM School";
    sqlite3_stmt *statement;

    if (sqlite3_prepare_v2(db, [qsql UTF8String], -1, &statement, nil) == SQLITE_OK) 
    {
        while (sqlite3_step(statement) == SQLITE_ROW) 
        {
            char *colState = (char *) sqlite3_column_text(statement, 0);
        NSString *state = [[NSString alloc] initWithUTF8String:colState];

        [states addObject:state];
        [state release];
    }
    sqlite3_reset(statement);
}
return states;
}     
已邀请:
首先想到的是数据库在模拟器上正确安装但在手机上没有安装。 看看这个答案,看看它是否对你有所帮助。     

要回复问题请先登录注册