我正在使用sqlite开发一个iphone应用程序。在那里,我有一个方法来从表中检索部分显示的值。
NSString *sqlQuery = [NSString stringWithFormat: @”select * from %@”, tableName];
If(sqlite3_prepare_v2(db, [sqlQuery UTF8STRING] , -1, &statement, NULL)== SQLITE_OK)
{
While(sqlite3_step(statement) == SQLITE_ROW)
{
}
Sqlite3_finalize(statement);
}
我怀疑的是,在while循环中,我们可以通过表的索引获取列的值,如下面的代码。
NSString *addressField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
address.text = addressField;
对于一列,我们可以像这样检索。就我而言,我不知道要检索的列数。在这种情况下,如何迭代列。请帮帮我。 感谢。
答案 0 :(得分:1)
NSString *sqlQuery = [NSString stringWithFormat: @”select * from %@”, tableName];
If(sqlite3_prepare_v2(db, [sqlQuery UTF8STRING] , -1, &statement, NULL)== SQLITE_OK)
{
While(sqlite3_step(statement) == SQLITE_ROW)
{
int columnCount = YouKnowColumnCount;
NSMutableArray* array = [[NSMutableArray alloc]init];
for( int i=0; i<columnCount ; ++i) {
[array addObject:[[NSString alloc] initWithUTF8String:(const char *)sqlite3_column_text(statement, i)]];
}
Sqlite3_finalize(statement);
}
这样的东西取决于你想做什么......