在iPhone中通过sqlite从数据库中选择值

时间:2011-04-21 10:42:22

标签: iphone select sqlite

我正在使用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;

对于一列,我们可以像这样检索。就我而言,我不知道要检索的列数。在这种情况下,如何迭代列。请帮帮我。 感谢。

1 个答案:

答案 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);
}

这样的东西取决于你想做什么......