我有一个带有一个名为'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_;
}
在数组行中,索引0处的对象是rowName = a,索引1是rowName = q,还是索引2 rowName = w?还是随意的?有没有办法让它不随机?
另外,如果我删除一行,它会对其他行顺序产生影响吗?
答案 0 :(得分:3)
永远不要依赖数据库中的排序顺序。如果需要,请务必指定一个。
SELECT rowName FROM tableName order by rowName
为您提供按rowName排序的数据。如果您需要不同的订单,则需要另一列。
如果需要,您还可以对NSArray进行排序。
您在寻找什么样的订单?