问题描述
我想用 dynamci 参数执行 sql
我可以在 pqxx4 中找到如下代码
work txn(*conn);
pqxx::result r = txn.prepared("insert into mytable (a,b,c,d,e) values (1,2,$1,$2,$3)")(person_name)(age)(sex).exec();
txn.commit();
但是我用的是7版的pqxx,代码不支持。
那么如何在 pqxx7 中使用动态参数执行 sql?
using FieldValue = std::variant<int32_t,int64_t,float,double,std::string,bool>
std::string tableName = "mytable";
std::vector<std::string> columNames{"a","b","c","d","e",...};
std::vector<FieldValue >{1,"",5L ...};
std::string sql = "INSERT INTO \"" + tableName + "\"(";
for (int i = 0; i < colums.size(); i++)
{
if (i > 0)
{
sql += ",";
}
sql += colums[i];
}
sql += " ) VALUES ( ";
for (int i = 0; i < colums.size(); i++)
{
if (i > 0)
{
sql += ",";
}
sql += "$" + std::to_string(i + 1);
}
sql += " )";
pqxx::connection conn{...};
conn.prepare("test",sql);
pqxx::work work(conn);
怎么办?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)