objective-c - 读取SQLite问题

  显示原文与译文双语对照的内容
0 0

我有两列 NSTableView,我想从SQLite数据库中填充它们。

这里方法对表进行查询

-(void)getPersons
{
 NSString *file = [[NSBundle mainBundle] pathForResource:@"persons" ofType:@"db"];
 sqlite3 *database = NULL;
 if (sqlite3_open([file UTF8String], &database)==SQLITE_OK)
 {
 NSLog(@"i open database");
 sqlite3_exec(database,"select name,age from persons", MyCallback, persons, NULL);
 }
 sqlite3_close(database);
}

MyCallback方法中的问题 appers:

static int MyCallback(void *context, int count, char **values, char **columns)
{
 NSMutableArray *persons = (NSMutableArray *)context;
 for (int i=0; i <count; i++) {
 NSString *columnname = [NSString stringWithUTF8String:columns[i]];
 const char *nameCString = values[i];
 if ([columnname isEqualTo:@"name"]) {
 [persons addObject:[NSString stringWithUTF8String:nameCString]];
 }
 else {
 [ages addObject:[NSString stringWithUTF8String:nameCString]];
 }
 }
 return SQLITE_OK;
}

我如何将"年龄"条目写入 NSMutableArray *ages,,如果我只能为一个NSMutableArray分配 *context? ( 在这里代码中,这是 NSMutableArray *person)

当然,我应该创建一个单独的方法来?

谢谢。

时间:原作者:5个回答

...