我想做一个这样的预备陈述:
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,但问题没有解决。
感谢。
答案 0 :(得分:2)
最后我选择了这个。
stringstream stmtvar;
stmtvar << "UPDATE PARTIDOS SET minuto" << lazo << "='" << texto[lazo] << "' WHERE ID=" << var;
stmt->executeUpdate(stmtvar.str());
完美无缺