我正在使用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
来做到这一点,但这并不是我真正想要的。
答案 0 :(得分:0)
详细阅读参考资料后,我发现您可以执行以下操作:
mysqlx::string s = row[0].get<mysqlx::string>();
int val = row[1].get<int>();
依此类推以转换数据。