如何使用XDevAPI将行中的结果存储到字符串对象

时间:2019-06-17 11:08:56

标签: c++ mysql

我正在使用mysql连接器/ C ++ 8.16,XDevAPI,并且我想将从表中每一行获取的数据存储到字符串中,但是我不能。我遇到了其他错误。

以下代码有效:

select m.*
from message m
where exists (select 1
              from user u
              where u.message_id = m.id and
                    u.user_id = 1
             ) or
      not exists (select 1
                  from user u
                  where u.message_id = m.id
                 );

但是如果我想将mysqlx::RowResult rows = mySession.sql("SELECT * FROM testtable").execute(); for (mysqlx::Row row : rows) { std::cout << row[0] << std::endl; } 存储到字符串中,则无法正常工作。

row[0]

我已经尝试将其转换为mysqlx::string s = row[0];//error, Value cannot be converted to string ,但是它不起作用,我收到了错误消息:

  

“无法将值转换为字符串”。

我设法用mysqlx::string来做到这一点,但这并不是我真正想要的。

1 个答案:

答案 0 :(得分:0)

详细阅读参考资料后,我发现您可以执行以下操作:

mysqlx::string s = row[0].get<mysqlx::string>();
int val = row[1].get<int>();

依此类推以转换数据。