SQLite数据库(iOS)中的行顺序
我有一个数据库,它有一个名为“connection”的表,为了简单起见,假设我只有一个名为“rowName”的列。现在让我们假设我添加了一行rowName=a;现在我添加一行rowName=q,最后添加一行rowName=w(字母完全是随机的)。现在,我用这句话激怒了结果:SQLite数据库(iOS)中的行顺序,ios,sqlite,indexing,row,Ios,Sqlite,Indexing,Row,我有一个数据库,它有一个名为“connection”的表,为了简单起见,假设我只有一个名为“rowName”的列。现在让我们假设我添加了一行rowName=a;现在我添加一行rowName=q,最后添加一行rowName=w(字母完全是随机的)。现在,我用这句话激怒了结果: NSString * queryStatements = [NSString stringWithFormat:@"SELECT rowName, FROM tableName"]; 并使用代码: NSMutab
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
提供按行名称排序的数据。如果需要不同的顺序,则需要另一列
如果需要,您还可以对NSArray进行排序
您要的排序顺序是什么?永远不要依赖于数据库中的排序顺序。如果需要,请始终指定一个
SELECT rowName FROM tableName order by rowName
提供按行名称排序的数据。如果需要不同的顺序,则需要另一列
如果需要,您还可以对NSArray进行排序
您要的排序顺序是什么?我可以在order by参数中输入日期行吗?可以。从技术上讲,SQLite没有日期,但假设您在填充数据库时进行了适当的转换,您应该会没事。如果您在应用程序中依赖SQLite,您可能希望通过Gus Muller在github上查看FMDB。它为所有这些sqlite c函数提供了一个很好的objective c包装器。顺便说一句——完全同意@terry wilcox关于“建议排序”的观点——尽可能避免使用列索引。我可以在“按顺序”参数中输入日期行吗?可以。从技术上讲,SQLite没有日期,但假设您在填充数据库时进行了适当的转换,您应该会没事。如果您在应用程序中依赖SQLite,您可能希望通过Gus Muller在github上查看FMDB。它为所有这些sqlite c函数提供了一个很好的objective c包装器。顺便说一句——完全同意@terry wilcox的“建议排序”——尽可能避免使用列索引。