首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SOCI:如何处理多个列?

SOCI:如何处理多个列?
EN

Stack Overflow用户
提问于 2013-06-20 00:27:07
回答 1查看 248关注 0票数 1

我正在使用SOCI访问一个PostgreSQL数据库。我正在插入并从中选择的一个表(目前)有72列。我的问题是,如何最好地处理这么多列?

我已经确定对于选择,使用SOCI动态结果集可能是最好的。通过这种方式,我可以循环遍历列。

然而,对于插入,我遇到了困难。我想要实现的内容如下:

代码语言:javascript
复制
int vals[NUM_VALS];
statement st = s.prepare << "INSERT INTO table (c0, c1, c2, ...) VALUES (";
for(int i = 0; i < NUM_VALS; ++i)
    st << vals[i];
st << ")";
st.execute();

有没有可能发生这样的事情?我没有找到一种简单的方法来处理大量的列。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-23 21:46:26

SOCI-users邮件列表为我提供了答案。需要延迟构造statement对象。例如,要使上面的代码生效,请将其更改为:

代码语言:javascript
复制
int vals[NUM_VALS];
auto temp = (s.prepare << "INSERT INTO table (c0, c1, c2, ...) VALUES (:c1, :c2, ...)");
for(int i = 0; i < NUM_VALS; ++i)
    temp , into(vals[i]);
statement st(temp).execute();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17196482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档