对于我的Xcode项目,我需要从sql数据库中读取信息。 我的数据库由2列组成:第一列包含年份,另一列包含价格。 我想要的是从第一个的信息中获取第二个的信息。 例如,如果我在我的文本字段上写了1990,那么我的变量将等于1990年的价格。
感谢您的帮助!
答案 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
开始