-1

我在数据库中使用变量表名!例如:

BOOL judge=[self.database executeUpdate:@"insert into
?(id,name,headimg,excerpt,postion) values
(?,?,?,?,?)",tableName,aID,aName,aImg,aExcept,aCoor];

但是这个“插入”不起作用!我不知道怎么办

4

3 回答 3

1

如果你想使用表名作为变量,你可以尝试以下

NSString *sql=[NSString stringWithFormat:@"insert into %@ (id,name,headimg,excerpt,postion) values (%@,%@,%@,%@,%@)",tablename,aID,aName,aImg,aExcept,aCoor];

BOOL judge=[self.database executeUpdate:sql];
于 2013-04-04T09:13:41.920 回答
0

尝试这个:

NSString *query = [NSString stringWithFormat:@"insert into '%@' (id,name,headimg,excerpt,postion) values (%d,'%@','%@','%@','%@')",tableName,aID,aName,aImg,aExcept,aCoor];

BOOL judge=[self.database executeUpdate:query];

还可以根据需要更改格式说明符。(可能id是这么用的%d,其他变量被当作Strings这么用%@)

于 2013-04-04T09:21:09.330 回答
0

我这样做的方式使 SQLite 绑定在工作:)

NSString * queryString = [NSString stringWithFormat:@"SELECT * FROM %@ ",[self modelDatabaseTableName]];
queryString = [queryString stringByAppendingString:@"WHERE UUID = ?;"];
FMResultSet *existenceCheckResultSet = [database executeQuery:queryString,[modelObject valueForKey:@"UUID"]];

希望能帮助到你。

乔瓦

于 2014-05-23T16:33:01.840 回答