NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
pgsql_tb_result类 参考final

PostgreSQL查询结果集类 更多...

#include <pgsql_result.hpp>

类 pgsql_tb_result 继承关系图:
[图例]

Public 成员函数

 pgsql_tb_result (::PGresult *result, bool owns=true)
 构造函数
 ~pgsql_tb_result () override
 析构函数
bool empty () const noexcept override
 检查结果集是否为空
bool is_null (size_type index) const
 检查当前行的指定列是否为NULL
bool next () noexcept override
 移动到下一行
size_type row_count () const noexcept override
 获取结果集行数
size_type column_count () const noexcept override
 获取结果集列数
const vector< string_view > & column_names () const override
 获取列名列表
string_view get (size_type index) const override
 获取字符串值
bool get_bool (size_type index) const override
 获取布尔值
int16_t get_int16 (size_type index) const override
 获取16位整数值
int32_t get_int32 (size_type index) const override
 获取32位整数值
int64_t get_int64 (size_type index) const override
 获取64位整数值
float32_t get_float32 (size_type index) const override
 获取32位浮点值
float64_t get_float64 (size_type index) const override
 获取64位浮点值
decimal_t get_decimal (size_type index) const override
 获取十进制值
vector< char > get_blob (size_type index) const override
 获取BLOB二进制数据
uint64_t get_bit (size_type index) const override
 获取BIT位字段值
date get_date (size_type index) const override
 获取日期值
time get_time (size_type index) const override
 获取时间值
datetime get_datetime (size_type index) const override
 获取日期时间值
timestamp get_timestamp (size_type index) const override
 获取时间戳值

额外继承的成员函数

Public 类型 继承自 idb_result
using size_type = size_t
 大小类型
using difference_type = ptrdiff_t
 差值类型

详细描述

PostgreSQL查询结果集类

实现idb_tb_result接口,支持结果集遍历、列名获取和类型安全的数据读取。

主要功能:

  • 结果集元数据获取
  • 逐行遍历结果集
  • 支持多种数据类型转换
  • BYTEA二进制数据处理
  • NULL值检测

在文件 pgsql_result.hpp41 行定义.

构造及析构函数说明

◆ pgsql_tb_result()

pgsql_tb_result::pgsql_tb_result ( ::PGresult * result,
bool owns = true )
explicit

构造函数

参数
resultPostgreSQL结果集句柄
owns是否拥有结果集所有权

获取结果集的行数和列数信息。

被这些函数引用 ~pgsql_tb_result().

◆ ~pgsql_tb_result()

pgsql_tb_result::~pgsql_tb_result ( )
override

析构函数

如果拥有所有权,释放PGresult资源。

引用了 pgsql_tb_result().

成员函数说明

◆ column_count()

size_type pgsql_tb_result::column_count ( ) const
inlinenodiscardoverridevirtualnoexcept

获取结果集列数

返回
总列数

实现了 idb_tb_result.

在文件 pgsql_result.hpp100 行定义.

◆ column_names()

const vector< string_view > & pgsql_tb_result::column_names ( ) const
nodiscardoverridevirtual

获取列名列表

返回
列名视图列表

首次调用时从PGresult中提取列名并缓存。

实现了 idb_tb_result.

◆ empty()

bool pgsql_tb_result::empty ( ) const
inlinenodiscardoverridevirtualnoexcept

检查结果集是否为空

返回
无数据返回true

实现了 idb_result.

在文件 pgsql_result.hpp74 行定义.

◆ get()

string_view pgsql_tb_result::get ( size_type index) const
nodiscardoverridevirtual

获取字符串值

参数
index列索引(从0开始)
返回
字符串视图,NULL返回空字符串

实现了 idb_tb_result.

◆ get_bit()

uint64_t pgsql_tb_result::get_bit ( size_type index) const
nodiscardoverridevirtual

获取BIT位字段值

参数
index列索引
返回
位字段的整数值
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_blob()

vector< char > pgsql_tb_result::get_blob ( size_type index) const
nodiscardoverridevirtual

获取BLOB二进制数据

参数
index列索引
返回
字节向量

自动处理PostgreSQL的BYTEA类型:

  • 十六进制格式(\x开头)自动解码
  • 转义格式自动处理

实现了 idb_tb_result.

◆ get_bool()

bool pgsql_tb_result::get_bool ( size_type index) const
nodiscardoverridevirtual

获取布尔值

参数
index列索引
返回
布尔值
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_date()

date pgsql_tb_result::get_date ( size_type index) const
nodiscardoverridevirtual

获取日期值

参数
index列索引
返回
日期对象
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_datetime()

datetime pgsql_tb_result::get_datetime ( size_type index) const
nodiscardoverridevirtual

获取日期时间值

参数
index列索引
返回
日期时间对象
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_decimal()

decimal_t pgsql_tb_result::get_decimal ( size_type index) const
nodiscardoverridevirtual

获取十进制值

参数
index列索引
返回
十进制数对象
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_float32()

float32_t pgsql_tb_result::get_float32 ( size_type index) const
nodiscardoverridevirtual

获取32位浮点值

参数
index列索引
返回
32位浮点数
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_float64()

float64_t pgsql_tb_result::get_float64 ( size_type index) const
nodiscardoverridevirtual

获取64位浮点值

参数
index列索引
返回
64位浮点数
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_int16()

int16_t pgsql_tb_result::get_int16 ( size_type index) const
nodiscardoverridevirtual

获取16位整数值

参数
index列索引
返回
16位整数
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_int32()

int32_t pgsql_tb_result::get_int32 ( size_type index) const
nodiscardoverridevirtual

获取32位整数值

参数
index列索引
返回
32位整数
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_int64()

int64_t pgsql_tb_result::get_int64 ( size_type index) const
nodiscardoverridevirtual

获取64位整数值

参数
index列索引
返回
64位整数
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_time()

time pgsql_tb_result::get_time ( size_type index) const
nodiscardoverridevirtual

获取时间值

参数
index列索引
返回
时间对象
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ get_timestamp()

timestamp pgsql_tb_result::get_timestamp ( size_type index) const
nodiscardoverridevirtual

获取时间戳值

参数
index列索引
返回
时间戳对象
异常
database_typecast_exception解析失败时抛出

实现了 idb_tb_result.

◆ is_null()

bool pgsql_tb_result::is_null ( size_type index) const

检查当前行的指定列是否为NULL

参数
index列索引(从0开始)
返回
NULL返回true
异常
database_exception列索引越界时抛出

◆ next()

bool pgsql_tb_result::next ( )
nodiscardoverridevirtualnoexcept

移动到下一行

返回
成功移动返回true,到达末尾返回false

实现了 idb_result.

◆ row_count()

size_type pgsql_tb_result::row_count ( ) const
inlinenodiscardoverridevirtualnoexcept

获取结果集行数

返回
总行数

实现了 idb_tb_result.

在文件 pgsql_result.hpp94 行定义.

引用了 row_count().

被这些函数引用 row_count().


该类的文档由以下文件生成: