首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用libpqxx检查列类型?

如何使用libpqxx检查列类型?
EN

Stack Overflow用户
提问于 2015-08-21 08:30:20
回答 1查看 1.6K关注 0票数 2

我在我的项目中使用libpqxx。该项目是特定的,因为我不知道将执行哪些SQL语句。让我们假设用户输入语句:

SELECT * FROM table1

执行该语句,我将得到结果记录,并可以遍历它。

代码语言:javascript
复制
for( auto row = myresult.begin(); row != myresult.end(); ++row)
{
    //Here I can access row elements.
}

如果我知道typerow中的第一个元素是什么,让我们说它是int,我可以得到如下值:

代码语言:javascript
复制
int firstElement = row[0].as<int>();

但我不知道。有一个方法type() (我可以在row元素上调用它),它是return的类型oid (它是某种列标识符)--它是数值,但我不知道如何使用该值来获得行元素的类型。我的问题是:

是否有一些枚举或其他方法使用此oid获取行元素type

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-30 21:28:41

Oid是postgres内部的。不是libpqxx只是打字

代码语言:javascript
复制
select typname, oid from pg_type;

在psql.This中,列出所有可删除的类型。

如果要使用源文件中的类型,请获取postgres源。source.html

只要在go中查看这个配置,就可以一目了然。忽略类型名称中的T_(一个下划线)。

https://github.com/olt/libpq/blob/master/oid/types.go

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32135752

复制
相关文章

相似问题

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