gpt4 book ai didi

c++ - 如何在 sql 查询中获取 soci::rowset

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:11 25 4
gpt4 key购买 nike

我有一个包含列名和年龄的表。

我想把所有的名字都写成

soci::session& sql_session(conn->Session());
soci::rowset<std::string> rs = sql_session.prepare << select name from Person;
std::vector<std::string> plist;
std::copy(rs.begin(), rs.end(), plist.begin());

但是我的程序在 std::copy 处崩溃了。似乎两个容器(源和目标)对于 std::copy 都不相同。我们可以使用 ORM 来做到这一点吗?

最佳答案

如果您只需要读取字符串,则不要使用 rowset,在这种情况下您不需要复制:

const size_t namesLimit = 100;
std::vector<std::string> plist(namesLimit);
soci::session sql_session(...); // connection details
sql_session << "select name from Person;", into(plist);

当然,如果您需要获取所有名称而没有硬编码限制,您可以更早地使用:

size_t namesLimit ;
sql_session << "select count(*) from Person", into(namesLimit);

关于c++ - 如何在 sql 查询中获取 soci::rowset<std::string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58621166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com