C++ XDevAPI multiple .values



我使用的是Xcode、MySQL和XDevAPI。

我在数据库上有下表

create table TABLE(ID INT, VALUE_01 INT, VALUE_02 INT, VALUE_03 INT);

我对代码有以下值:

Table table(session, "TABLE");
int id;
set<int> numbers;
id = 2395;
numbers.insert(1);
numbers.insert(2);
numbers.insert(3);

所以我想试试:

table.insert("ID", "VALUE_01", "VALUE_02", "VALUE_03")
.values(id)
.values(numbers)
.execute();

然而,我得到一个运行时错误说:

libc++abi.dylib:终止时出现类型为mysqlx::abi2::r0::错误:CDK错误:插入的行中字段数错误的未捕获异常

你能帮我吗?

这里有两个问题。

首先,您调用values两次而不是一次,而且两次都使用了错误的[数量]参数。您应该为每行提供一次values(),每次为该行(ref(中的每个字段提供一个值。

其次,std::set<int>有序的,这意味着对于不同于1、2和&3你的价值观可以按照不同的顺序存储。

我建议改为std::vector<int>

Table table(session, "TABLE");
int id;
vector<int> numbers;
id = 2395;
numbers.push_back(1);
numbers.push_back(2);
numbers.push_back(3);
table.insert("ID", "VALUE_01", "VALUE_02", "VALUE_03")
.values(id, numbers[0], numbers[1], numbers[2])
.execute();

相关内容

  • 没有找到相关文章

最新更新