0

我尝试使用模板查询来构建我的 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
}

代码将分开catchex.what()

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

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

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

4

1 回答 1

0

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

现在一切正常。

于 2017-10-16T10:03:43.863 回答