0

我有一个数据库,其中包含一个名为“connection”的表,为了简单起见,假设我只有一个名为“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_;
}

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

另外,如果我删除一行,它会对其他行的顺序有什么影响吗?

4

1 回答 1

3

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

SELECT rowName FROM tableName order by rowName

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

如果需要,您还可以对 NSArray 进行排序。

您在寻找什么排序顺序?

于 2012-08-05T14:40:08.223 回答