如何从xcode上的数据库中读取信息?

时间:2017-04-28 07:14:13

标签: mysql objective-c database xcode

对于我的Xcode项目,我需要从sql数据库中读取信息。 我的数据库由2列组成:第一列包含年份,另一列包含价格。 我想要的是从第一个的信息中获取第二个的信息。 例如,如果我在我的文本字段上写了1990,那么我的变量将等于1990年的价格。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

检查

- (NSArray*) findByPrice:(NSString*)year
{
    const char *dbpath = [databasePath UTF8String];
    if (sqlite3_open(dbpath, &database) == SQLITE_OK)
    {
                NSString *querySQL = [NSString stringWithFormat: @"SELECT * FROM  yourDatabaseName"];

        const char *query_stmt = [querySQL UTF8String];

        NSMutableArray *resultArray = [[NSMutableArray alloc]init];

        if (sqlite3_prepare_v2(database,
                               query_stmt, -1, &statement, NULL) == SQLITE_OK)
        {
            while(sqlite3_step(statement) == SQLITE_ROW)
            {
                NSString *year1 = [[NSString alloc] initWithUTF8String:
                                  (const char *) sqlite3_column_text(statement, 0)];
                NSString *price = [[NSString alloc] initWithUTF8String:
                                        (const char *) sqlite3_column_text(statement, 1)];

                if ([year1 isEqualToString: year]) {
                    [resultArray addObject:year1];
                    [resultArray addObject:price];
                    NSLog(@"%@",resultArray);
                }
            }

            NSLog(@"%@",resultArray);
            return resultArray;
        }
        sqlite3_close(database);
        NSLog(@"%@",resultArray);

    }
    return nil;
}

并在ur result label中显示对象索引值的结果数组。

答案 1 :(得分:-1)

首先,数据库不包含“列”。您的业​​务“表”应由2列组成。

其次,它不是直接与Xcode相关的问题。 Xcode是一个ide,而不是应用程序开发平台,语言或库。你在Swift或Objective C中编码吗?更清楚你的问题。

顺便问一下,问题与Swift或Objective C无关。你需要的是首先学习基本的sql select命令。

请查看如何实施选择查询。您可以从here

开始