MySQL连接器中的准备语句

时间:2014-03-24 17:52:18

标签: c++ prepared-statement mysql-connector

我想做一个这样的预备陈述:

pstmt=conn->prepareStatement("UPDATE partidos SET i?=? WHERE ID=?");
pstmt->setInt(1,lazo);
pstmt->setString(2,texto[lazo]);
pstmt->setInt(3,var);
pstmt->execute();

“lazo”是for循环中的变量,texto [lazo]是变量,var是另一个int变量。

当我运行此查询时,它会引发异常:“您的SQL语法中有错误;请检查与您的MySQL服务器版本对应的手册,以便在'i?=?WHERE ID =?附近使用正确的语法? “在第1行“。

似乎它不会取代'?'。

我尝试使用stringstreams,但问题没有解决。

感谢。

1 个答案:

答案 0 :(得分:2)

最后我选择了这个。

stringstream stmtvar;
stmtvar << "UPDATE PARTIDOS SET minuto" << lazo << "='" << texto[lazo] << "' WHERE ID=" << var;
stmt->executeUpdate(stmtvar.str());

完美无缺