为了简单起见,我有一个带有名为“连接”的表的数据库,假设我只有一列称为“ rowName”。现在,假设我添加了具有rowName = a;的行;现在我添加rowName = q的行,最后我添加rowName = w的行(字母是完全随机的)。现在,我用以下语句刺激结果:

    NSString * queryStatements = [NSString stringWithFormat:@"SELECT rowName,  FROM tableName"];


并使用代码:

NSMutableArray * rows = [[NSMutableArray alloc] init]; //create a new array
sqlite3_stmt * statement;
    if(sqlite3_prepare_v2(databaseHandle, [queryStatements UTF8String], -1, &statement, NULL) == SQLITE_OK){
        while (sqlite3_step(statement) == SQLITE_ROW){
           NSString * rowName = [NSString stringWithUTF8String : (char*) sqlite_column_text(statement, 1)];
[rows addObject : connection];
} sqlite3_finalize(statement_;
}


在数组行中,索引为0的对象是否为rowName = a,索引为1的对象为rowName = q,索引2的对象为rowName = w?还是随机的?有没有办法使它不是随机的?

另外,如果我删除一行,是否会对其他行顺序产生影响?

最佳答案

永远不要依赖数据库中的排序顺序。如果需要,请始终指定一个。

SELECT rowName FROM tableName order by rowName


为您提供按rowName排序的数据。如果需要其他顺序,则需要另一列。

您也可以根据需要对NSArray进行排序。

您正在寻找什么排序顺序?

关于ios - SQLite数据库(iOS)中的行顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11817253/

10-12 15:23