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

PostgreSQL预处理语句类 更多...

#include <pgsql_prepared_statement.hpp>

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

Public 成员函数

 pgsql_prepared_statement (PGconn *conn, string sql)
 构造函数
 ~pgsql_prepared_statement () override
 析构函数
NEFORCE_NODISCARD uint32_t param_count () const noexcept override
 获取参数数量
bool bind_param (uint32_t index, const string &value) override
 绑定字符串参数
bool bind_param (uint32_t index, string_view value) override
 绑定字符串视图参数
bool bind_param (uint32_t index, const char *value) override
 绑定C字符串参数
bool bind_param (uint32_t index, int32_t value) override
 绑定32位整数参数
bool bind_param (uint32_t index, int64_t value) override
 绑定64位整数参数
bool bind_param (uint32_t index, float64_t value) override
 绑定浮点数参数
bool bind_param (uint32_t index, cbyte_view value) override
 绑定二进制数据参数
bool execute () override
 执行非查询语句
NEFORCE_NODISCARD unique_ptr< idb_prepared_resultexecute_query () override
 执行查询语句
NEFORCE_NODISCARD string_view get_error () const noexcept override
 获取错误信息
NEFORCE_NODISCARD uint32_t get_errno () const noexcept override
 获取错误码

详细描述

PostgreSQL预处理语句类

实现idb_prepared_statement接口,支持参数绑定、语句执行和结果集获取。

主要功能:

  • SQL语句预处理(自动解析$1, $2等占位符)
  • 参数绑定
  • 语句执行
  • 查询执行
  • 自动生成预处理语句名称
  • 语句生命周期管理
注解
PostgreSQL使用 $index 作为参数占位符,参数索引从1开始。

在文件 pgsql_prepared_statement.hpp44 行定义.

构造及析构函数说明

◆ pgsql_prepared_statement()

pgsql_prepared_statement::pgsql_prepared_statement ( PGconn * conn,
string sql )

构造函数

参数
connPostgreSQL连接句柄
sqlSQL语句

解析SQL语句获取参数数量,创建服务器端预处理语句。 自动生成唯一的语句名称。

◆ ~pgsql_prepared_statement()

pgsql_prepared_statement::~pgsql_prepared_statement ( )
override

析构函数

执行DEALLOCATE释放服务器端预处理语句资源。

成员函数说明

◆ bind_param() [1/7]

bool pgsql_prepared_statement::bind_param ( uint32_t index,
cbyte_view value )
overridevirtual

绑定二进制数据参数

参数
index参数索引
value字节视图
返回
绑定成功返回true

二进制参数使用格式1(二进制)传输,适用于BYTEA类型。

实现了 idb_prepared_statement.

◆ bind_param() [2/7]

bool pgsql_prepared_statement::bind_param ( uint32_t index,
const char * value )
inlineoverridevirtual

绑定C字符串参数

参数
index参数索引
valueC字符串
返回
绑定成功返回true

实现了 idb_prepared_statement.

在文件 pgsql_prepared_statement.hpp110 行定义.

引用了 bind_param().

被这些函数引用 bind_param().

◆ bind_param() [3/7]

bool pgsql_prepared_statement::bind_param ( uint32_t index,
const string & value )
inlineoverridevirtual

绑定字符串参数

参数
index参数索引
value字符串值
返回
绑定成功返回true

实现了 idb_prepared_statement.

在文件 pgsql_prepared_statement.hpp94 行定义.

引用了 bind_param() , 以及 basic_string< CharT, Traits, Alloc >::view().

被这些函数引用 bind_param().

◆ bind_param() [4/7]

bool pgsql_prepared_statement::bind_param ( uint32_t index,
float64_t value )
overridevirtual

绑定浮点数参数

参数
index参数索引
value浮点值
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ bind_param() [5/7]

bool pgsql_prepared_statement::bind_param ( uint32_t index,
int32_t value )
overridevirtual

绑定32位整数参数

参数
index参数索引
value整数值
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ bind_param() [6/7]

bool pgsql_prepared_statement::bind_param ( uint32_t index,
int64_t value )
overridevirtual

绑定64位整数参数

参数
index参数索引
value整数值
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ bind_param() [7/7]

bool pgsql_prepared_statement::bind_param ( uint32_t index,
string_view value )
overridevirtual

绑定字符串视图参数

参数
index参数索引
value字符串视图
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ execute()

bool pgsql_prepared_statement::execute ( )
overridevirtual

执行非查询语句

返回
执行成功返回true

执行已绑定参数的预处理语句,不返回结果集。

实现了 idb_prepared_statement.

◆ execute_query()

NEFORCE_NODISCARD unique_ptr< idb_prepared_result > pgsql_prepared_statement::execute_query ( )
overridevirtual

执行查询语句

返回
查询结果集,失败返回空指针

执行查询并返回结果集对象。

实现了 idb_prepared_statement.

◆ get_errno()

NEFORCE_NODISCARD uint32_t pgsql_prepared_statement::get_errno ( ) const
inlineoverridevirtualnoexcept

获取错误码

返回
PostgreSQL错误码

实现了 idb_prepared_statement.

在文件 pgsql_prepared_statement.hpp172 行定义.

◆ get_error()

NEFORCE_NODISCARD string_view pgsql_prepared_statement::get_error ( ) const
inlineoverridevirtualnoexcept

获取错误信息

返回
错误描述字符串

实现了 idb_prepared_statement.

在文件 pgsql_prepared_statement.hpp166 行定义.

引用了 basic_string_view< CharT, Traits >::view().

◆ param_count()

NEFORCE_NODISCARD uint32_t pgsql_prepared_statement::param_count ( ) const
inlineoverridevirtualnoexcept

获取参数数量

返回
SQL语句中的占位符数量

实现了 idb_prepared_statement.

在文件 pgsql_prepared_statement.hpp86 行定义.


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