PetaPoco参数被视为文字

时间:2014-08-11 20:22:39

标签: mysql database petapoco

我正在执行这样的PetaPoco更新声明:

db.Execute("UPDATE Content SET Html = '@0', PlainText = '@1' WHERE ContentId = @2", newHtml, newText, c.EmailContentId);

MySQL数据库只是将参数名称作为文字粘贴到字段中,即Html字段现在包含'@ 0'(不带引号)。

我已经运行了这样的查询一千次,我没有看到这一行中的错误。 我已经介绍了PetaPoco代码并创建了MySqlCommand,它有一个MySqlParameterCollection,它有3个参数,并且它们都有正确的值。

知道我哪里出错了?

1 个答案:

答案 0 :(得分:3)

如果您使用预先准备好的陈述,则必须省略占位符周围的单引号。使用

db.Execute("UPDATE Content SET Html = @0, PlainText = @1 WHERE ContentId = @2", newHtml, newText, c.EmailContentId);

代替。