sqlite3_step的奇怪行为(不移动到下一行)

时间:2015-11-19 10:21:21

标签: ios xcode sqlite

我大概有这段代码:

querySQL = [NSString stringWithFormat:@"SELECT id, contactid, txtcontent, strDate, direction, status, priority, status_r....."
const char * query_stmt = [querySQL UTF8String];
if(sqlite3_prepare(db, query_stmt, -1, &statement, nil) == SQLITE_OK) {
    int rc;
    while ((rc = sqlite3_step(statement)) == SQLITE_ROW) {
        ....
    }
}

在运行9.x的任何iPhone上,没有问题,每次新行时应用程序都在读取。 在运行7.x的任何iPhone 4上,完全相同的代码保持在同一行并进入死胡同循环。 有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

最终看起来查询类似于

querySQL = "select * from messages order by date desc, date desc";

订单条件错误地出现两次,这导致sqlite3_step停留在同一行。这个代码工作了几年没有任何问题,仍然可以工作和更高的iOS级别。奇怪。