为了简单起见,我有一个带有名为“连接”的表的数据库,假设我只有一列称为“ 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/