C++使用MySQL X Dev API 执行SQL报错

事情是这样的。

MySQL X Dev API使用mysqlx::Session来进行数据库SRUD操作。

我需要封装一下,来通过pybind暴露给python。

于是乎,我写了一个pymysql::Session类来管理mysqlx::Session。

自己写的Session的构造函数和一个方法是这样的。

实现:

创建pymysql::Session对象的代码部分是另一个类pymysql::ConnectionPool类中,88和89行处:

编译后在python调用,执行execute方法时,execute中行号为10的那行始终报错。而在上图中88行后直接来执行session.sql("一个sql")并不会报错。

无法执行SQL。

另外,已经确认不是this->session->sql(SQL)->execute()中的execute()报错,而是this->session->sql(SQL)报错。

我不知道是不是我在创建pymysql::Session对象时,构造函数传参的方式不正确。求解答。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^