我正在尝试在不同的测量单位之间构建一个类似转换器的应用程序。目前,我正在使用 SQLite,并且我有一个表格,其中包含不同的单位以及相应的费率。
在我的应用程序中,我有以下函数可以根据所选单位检索费率值:
+(float)rateFrom:(NSString *)from to:(NSString *)to{
if (sqlite3_open([sqlPath UTF8String], &database) == SQLITE_OK) {
const char *sql = [[NSString stringWithFormat:@"SELECT %@ FROM Units WHERE code = '%@'", to, from] UTF8String];
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {
return (float)sqlite3_column_double(selectstmt, 0);
}
}
else{
sqlite3_close(database);
}
return -1;
}
问题是回报率为0.00
我直接在终端窗口上尝试了构造查询并返回正确的值
我也试过了NSNumber
,initWithFloat:
也没有成功。
谁能解释我在这里做错了什么?
提前致谢。