ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::npostgresql Class Reference

Public Types

using callback = std::function<bool(PGresult*)>
 执行一条查询并通过回调函数处理PGresult结果集。

Public Member Functions

 npostgresql ()=default
 默认构造函数
PGconn * postgresql ()
 获取底层libpq连接句柄。
bool connectdb (const xarg_db &arg)
 使用提供的XML配置打开一个PostgreSQL连接。
void closedb ()
 关闭已存在的PostgreSQL连接。
bool query (const char *asql)
 执行一条不返回行的SQL语句。
bool select (const char *asql, int aresultFormat, const callback &aback)
 执行SELECT查询并通过回调处理结果集

Public Attributes

db_buff m_malloc

Member Typedef Documentation

◆ callback

using ngl::npostgresql::callback = std::function<bool(PGresult*)>

执行一条查询并通过回调函数处理PGresult结果集。

Parameters
asqlSQL查询语句
aresultFormat结果格式:0=文本,1=二进制
aback结果集回调函数,接收PGresult指针
Returns
true 查询成功
false 查询失败

Member Function Documentation

◆ closedb()

void ngl::npostgresql::closedb ( )

关闭已存在的PostgreSQL连接。

关闭PostgreSQL数据库连接

调用PQfinish并重置连接状态标志。

◆ connectdb()

bool ngl::npostgresql::connectdb ( const xarg_db & arg)

使用提供的XML配置打开一个PostgreSQL连接。

建立PostgreSQL数据库连接

Parameters
arg数据库连接参数(主机、端口、用户名、密码、数据库名)
Returns
true 连接成功
false 连接失败

拼接连接字符串并调用PQconnectdb,检查连接状态。

Parameters
arg数据库连接参数(IP、端口、用户名、密码、数据库名)
Return values
true连接成功
false已有连接或连接失败

◆ postgresql()

PGconn * ngl::npostgresql::postgresql ( )
inline

获取底层libpq连接句柄。

Returns
PGconn* PostgreSQL连接指针,未连接时可能为nullptr

◆ query()

bool ngl::npostgresql::query ( const char * asql)

执行一条不返回行的SQL语句。

执行SQL命令(无结果集返回)

Parameters
asqlSQL语句字符串
Returns
true 执行成功
false 执行失败
Parameters
asqlSQL语句字符串
Return values
true执行成功
false执行失败

◆ select()

bool ngl::npostgresql::select ( const char * asql,
int resultFormat,
const callback & aback )

执行SELECT查询并通过回调处理结果集

使用PQexecParams执行参数化查询,检查结果状态后调用回调。

Parameters
asqlSQL查询语句
paramresultFormat 结果格式(0=文本,1=二进制)
aback结果集回调,接收PGresult指针
Return values
true查询并处理成功
false查询失败

The documentation for this class was generated from the following files: