gpt4 book ai didi

c++ - 如何获取社会中表的模式或行名?

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:34 25 4
gpt4 key购买 nike

我正在努力完成 this ,而且我知道如何间接执行此操作...如果我可以获得表的架构。

我如何使用 soci 做到这一点?

我试过:

std::string i;
soci::statement st = (mSql->prepare <<
"show create table tab;",
soci::into(i));
st.execute();
while (st.fetch())
{
std::cout << i <<'\n';
}

但只打印“制表符”。

我也尝试过这个,来自 GitHub 中的 Soci 文档:

soci::column_info ci;
soci::statement st = (mSql->prepare_column_descriptions(table_name), into(ci));

st.execute();
while (st.fetch())
{
// ci fields describe each column in turn
}

但被告知 column_info 不是 soci 的成员。

最佳答案

我找到了以下代码 here

soci::row v;
soci::statement st = (mSql->prepare << "SELECT * FROM tab", into(v));
st.execute(true); /* with data exchange */
unsigned int num_fields = v.size();
std::cout << "fields: " << num_fields << std::endl;
num_fields = (num_fields <= 9) ? num_fields : 9;
unsigned long num_rows = (unsigned long)st.get_affected_rows();
std::cout << "rows: " << num_rows << std::endl;
for (size_t i = 0; i < num_fields; ++i) {
const soci::column_properties &props = v.get_properties(i);
std::cout << props.get_name() << '\t';
}
std::cout << std::endl;

最后打印的是列的正确名称。

关于c++ - 如何获取社会中表的模式或行名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42585140/

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