起作用的代码:
A) FMResultSet *r = [self.db executeQuery:@"SELECT COUNT(*) FROM myDB"];
我要工作的是:
B) r = [self.db executeQuery:@"SELECT COUNT(*) FROM ?",@"myDB"];
使用
B
时的错误:DB Error: 1 "near "?": syntax error"
DB Query: SELECT COUNT(*) FROM ?
如何使
B
工作? 最佳答案
我认为您无法在参数化查询中传递表名。
作为替代,您可以执行以下操作:
- (void)queryBuilder:(NSString *)tableName
{
NSString *result = [NSString stringWithFormat:@"SELECT COUNT(*) FROM %@",tableName];
return result;
}
并像这样使用它:
r = [self.db executeQuery:[self queryBuilder:@"myDB"]];
关于ios - FMDB-executeQuery无法提供参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23227216/