mysqlpp:使用模板查询时出现SQL语法错误

时间:2017-10-16 09:30:10

标签: mysql sql mysql++

我尝试使用模板查询来构建我的sql查询。这是示例代码:

unsigned int version = 2;
try {
    // key_version is INT UNSIGNED
    mysqlpp::Query query = conn->query("SELECT * FROM agentlist WHERE key_version != %0q");
    mysqlpp::StoreQueryResult res = query.store(version);
    // string type param also caused the same problem
    // mysqlpp::StoreQueryResult res = query.store(std::to_string(version));
} catch (const exception &ex) {
    // deal with exceptions
}

代码将转到catch部分。 ex.what()

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在\' 2 \'附近使用正确的语法。在第1行

我认为它是由SQLQueryParms类型引起的,但教程和文档都没有显示任何解决此问题的方法。

顺便说一句,我如何获得解析的查询字符串(替换模板参数)?我尝试了query.str(version),但它与query.str()相同。

1 个答案:

答案 0 :(得分:0)

我的坏。忘记了一个重要的函数调用query.parse()

现在一切正常。