首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在只有一个对象的表中选择数据记录sqlite ios return

在只有一个对象的表中选择数据记录sqlite ios return
EN

Stack Overflow用户
提问于 2014-10-28 18:00:14
回答 1查看 1.8K关注 0票数 1

我有一个问题,当我选择用户名时,返回的只是一个对象,表中包含了所有的用户名,如何解决这个问题,我尝试由数据库管理器选择,我发现查询sql语句是正确的

代码语言:javascript
复制
 - (NSMutableArray*) FindAccounts
    {
    ///database
    NSString *docsDir;
    NSArray *dirPaths; 
    // Get the documents directory
    dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    docsDir = [dirPaths objectAtIndex:0];  
    // Build the path to the database file
    databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent: @"TRIAL.sqlite"]];
    NSFileManager *filemgr = [NSFileManager defaultManager];
    sqlite3_stmt *statement;
    const char *dbpath = [databasePath UTF8String];
    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
    {
    NSString *querySQL = [NSString stringWithFormat:@"SELECT USERNAME,TYPE FROM CONTNEW"];
    const char *query_stmt = [querySQL UTF8String];
    NSMutableArray *resultArray = [[NSMutableArray alloc]init];
    if (sqlite3_prepare_v2(contactDB,query_stmt, -1, &statement, NULL) == SQLITE_OK)
    {
    if (sqlite3_step(statement) == SQLITE_ROW)
    {
    NSString *USERS = [[NSString alloc] initWithUTF8String:(const char *)     sqlite3_column_text(statement, 0)];
    [resultArray addObject:USERS];
    return resultArray;
    }
    else{
    NSLog(@"Not found");
    return nil;
    }
    sqlite3_reset(statement);
    }
    }
    return nil;
    }
EN

回答 1

Stack Overflow用户

发布于 2014-10-28 18:14:16

好的,试试这个(注意没有太多的错误报告):

代码语言:javascript
复制
- (NSMutableArray*) FindAccounts
{
    NSString *docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *databasePath = [docsDir stringByAppendingPathComponent:@"TRIAL.sqlite"];
    sqlite3_stmt *statement;
    // I assume contactDB is an instance variable?
    if (!contactDB &&
        sqlite3_open([databasePath UTF8String], &contactDB) != SQLITE_OK) {
        NSLog(@"Failed to open database");
        return nil;
    }

    NSString *querySQL = @"SELECT USERNAME,TYPE FROM CONTNEW ORDER BY USERNAME";
    NSMutableArray *resultArray = [NSMutableArray new];
    if (sqlite3_prepare_v2(contactDB, [querySQL UTF8String], -1, &statement, NULL) == SQLITE_OK)
    {
        while (sqlite3_step(statement) == SQLITE_ROW)
        {
            NSString *username = @(sqlite3_column_text(statement, 0));
            [resultArray addObject:username];
        }
        sqlite3_reset(statement);
    }
    return resultArray;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26605419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档