簡體   English   中英

SOCI:如何處理許多列?

[英]SOCI: How to deal with many columns?

我正在使用SOCI訪問PostgreSQL數據庫。 我要插入的一個特定表(目前)有72列。 我的問題是,如何最好地處理這么多列?

我確定對於選擇而言,使用SOCI動態結果集可能是最好的。 這樣,我可以遍歷各列。

但是,插入時遇到困難。 我要實現的目標如下:

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();

這樣有可能嗎? 我沒有運氣找到任何一種簡單的方式來處理大量列的方法。

SOCI用戶的郵件列表為我提供了答案。 需要延遲構造語句對象。 例如,要使上述工作生效,請將其更改為:

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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM