有效的代码:
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
工作?
答案 0 :(得分:1)
我认为你不能在参数化查询中传递表名。
作为替代方案,您可以这样做:
- (void)queryBuilder:(NSString *)tableName
{
NSString *result = [NSString stringWithFormat:@"SELECT COUNT(*) FROM %@",tableName];
return result;
}
并使用它:
r = [self.db executeQuery:[self queryBuilder:@"myDB"]];