[英]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.