我有一个在数据库中动态创建表的项目。而且我不知道在某个时刻使用了什么表。并希望这样的事情:
[db executeQuery:@"INSERT INTO %@Table (image) VALUES (?)",tableName,imageData];
但它没有用。我该如何解决这个问题?
答案 0 :(得分:3)
您可以创建一个字符串,然后使用此字符串进行查询,如下所示:
NSString* queryStr = [NSString stringWithFormat:@"INSERT INTO %@(image) VALUES (?) ",tableName];
[db executeQuery:queryStr,imageData];
答案 1 :(得分:1)
请注意,如果要使用格式字符串,FMDB中还有另一个功能。您必须使用executeQueryWithFormat:
代替executeQuery:
。
如果tableName
是“员工”,则您的字符串将评估为:
"INSERT INTO EmployeesTable (image) values (<data>)"
这就是你想要的(即将字符串“Table”添加到表名中)?