使用非静态名称 (FMDB) 将数据插入数据库表



我有一个在数据库中动态创建表的项目。而且我不知道一会儿用的是什么表。并想要这样的东西: [db executeQuery:@"INSERT INTO %@Table (image) VALUES (?)",tableName,imageData];但它没有用。如何解决这个问题?

您可以创建一个字符串,然后使用此字符串执行查询,如下所示:

NSString* queryStr = [NSString stringWithFormat:@"INSERT INTO %@(image) VALUES (?) ",tableName];
[db executeQuery:queryStr,imageData];

请注意,如果要使用格式字符串,FMDB 中还有另一个函数。您将不得不使用 executeQueryWithFormat: 而不是 executeQuery: .

如果tableName是"员工",则字符串的计算结果为:

"INSERT INTO EmployeesTable (image) values (<data>)"

这是您想要的吗(即将字符串"表"添加到表名中)?

最新更新