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

SQLite预处理语句结果集类 更多...

#include <sqlite_prepared_result.hpp>

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

Public 成员函数

 sqlite_prepared_result () noexcept=default
 默认构造函数
 sqlite_prepared_result (::sqlite3_stmt *statement)
 构造函数
 ~sqlite_prepared_result () override
 析构函数
NEFORCE_NODISCARD NEFORCE_DEPRECATED_FOR ("use COUNT * instead of using this function") size_type row_count() const noexcept override
 获取结果集行数
NEFORCE_NODISCARD size_type column_count () const noexcept override
 获取结果集列数
NEFORCE_NODISCARD bool empty () const noexcept override
 检查结果集是否为空
NEFORCE_NODISCARD const vector< string_view > & column_names () const noexcept override
 获取列名列表
NEFORCE_NODISCARD const vector< int > & column_types () const noexcept
 获取列类型列表
NEFORCE_NODISCARD bool next () noexcept override
 移动到下一行
NEFORCE_NODISCARD string_view get (size_type n) const noexcept override
 获取字符串值
NEFORCE_NODISCARD bool get_bool (size_type n) const override
 获取布尔值
NEFORCE_NODISCARD int16_t get_int16 (size_type n) const override
 获取16位整数值
NEFORCE_NODISCARD int32_t get_int32 (size_type n) const override
 获取32位整数值
NEFORCE_NODISCARD int64_t get_int64 (size_type n) const override
 获取64位整数值
NEFORCE_NODISCARD float32_t get_float32 (size_type n) const override
 获取32位浮点值
NEFORCE_NODISCARD float64_t get_float64 (size_type n) const override
 获取64位浮点值
NEFORCE_NODISCARD decimal_t get_decimal (size_type n) const override
 获取十进制值
NEFORCE_NODISCARD vector< char > get_blob (size_type n) const override
 获取BLOB二进制数据
NEFORCE_NODISCARD uint64_t get_bit (size_type n) const noexcept override
 获取BIT位字段值
NEFORCE_NODISCARD date get_date (size_type n) const override
 获取日期值
NEFORCE_NODISCARD time get_time (size_type n) const override
 获取时间值
NEFORCE_NODISCARD datetime get_datetime (size_type n) const override
 获取日期时间值
NEFORCE_NODISCARD timestamp get_timestamp (size_type n) const override
 获取时间戳值
Public 成员函数 继承自 idb_tb_result
virtual size_type row_count () const =0
 获取结果集行数

额外继承的成员函数

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

详细描述

SQLite预处理语句结果集类

实现idb_prepared_result接口,提供SQLite预处理语句查询结果的访问功能。 支持结果集遍历、列名获取和类型安全的数据读取。

主要功能:

  • 结果集元数据获取
  • 逐行遍历结果集
  • 支持多种数据类型转换
  • 语句重置支持
注解
允许复用。

在文件 sqlite_prepared_result.hpp43 行定义.

构造及析构函数说明

◆ sqlite_prepared_result() [1/2]

sqlite_prepared_result::sqlite_prepared_result ( )
defaultnoexcept

默认构造函数

创建空结果集。

被这些函数引用 sqlite_prepared_result() , 以及 ~sqlite_prepared_result().

◆ sqlite_prepared_result() [2/2]

sqlite_prepared_result::sqlite_prepared_result ( ::sqlite3_stmt * statement)
explicit

构造函数

参数
statementSQLite预处理语句句柄

获取结果集的列数、列名和列类型信息。

引用了 sqlite_prepared_result().

◆ ~sqlite_prepared_result()

sqlite_prepared_result::~sqlite_prepared_result ( )
inlineoverride

析构函数

重置预处理语句,允许复用。

在文件 sqlite_prepared_result.hpp73 行定义.

引用了 sqlite_prepared_result().

成员函数说明

◆ column_count()

NEFORCE_NODISCARD size_type sqlite_prepared_result::column_count ( ) const
inlineoverridevirtualnoexcept

获取结果集列数

返回
总列数

实现了 idb_tb_result.

在文件 sqlite_prepared_result.hpp92 行定义.

◆ column_names()

NEFORCE_NODISCARD const vector< string_view > & sqlite_prepared_result::column_names ( ) const
inlineoverridevirtualnoexcept

获取列名列表

返回
列名视图列表

实现了 idb_tb_result.

在文件 sqlite_prepared_result.hpp104 行定义.

◆ column_types()

NEFORCE_NODISCARD const vector< int > & sqlite_prepared_result::column_types ( ) const
inlinenoexcept

获取列类型列表

返回
SQLite类型代码列表

在文件 sqlite_prepared_result.hpp110 行定义.

◆ empty()

NEFORCE_NODISCARD bool sqlite_prepared_result::empty ( ) const
inlineoverridevirtualnoexcept

检查结果集是否为空

返回
空结果集返回true

实现了 idb_result.

在文件 sqlite_prepared_result.hpp98 行定义.

◆ get()

NEFORCE_NODISCARD string_view sqlite_prepared_result::get ( size_type n) const
overridevirtualnoexcept

获取字符串值

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

实现了 idb_tb_result.

引用了 get().

被这些函数引用 get().

◆ get_bit()

NEFORCE_NODISCARD uint64_t sqlite_prepared_result::get_bit ( size_type n) const
overridevirtualnoexcept

获取BIT位字段值

参数
n列索引
返回
位字段的整数值

实现了 idb_tb_result.

引用了 get_bit().

被这些函数引用 get_bit().

◆ get_blob()

NEFORCE_NODISCARD vector< char > sqlite_prepared_result::get_blob ( size_type n) const
overridevirtual

获取BLOB二进制数据

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

实现了 idb_tb_result.

引用了 get_blob().

被这些函数引用 get_blob().

◆ get_bool()

NEFORCE_NODISCARD bool sqlite_prepared_result::get_bool ( size_type n) const
overridevirtual

获取布尔值

参数
n列索引
返回
布尔值(非0为true)

实现了 idb_tb_result.

引用了 get_bool().

被这些函数引用 get_bool().

◆ get_date()

NEFORCE_NODISCARD date sqlite_prepared_result::get_date ( size_type n) const
inlineoverridevirtual

获取日期值

参数
n列索引
返回
日期对象

实现了 idb_tb_result.

在文件 sqlite_prepared_result.hpp193 行定义.

引用了 datetime::date(), get_date() , 以及 idb_tb_result::get_datetime().

被这些函数引用 get_date().

◆ get_datetime()

NEFORCE_NODISCARD datetime sqlite_prepared_result::get_datetime ( size_type n) const
overridevirtual

获取日期时间值

参数
n列索引
返回
日期时间对象

解析SQLite的文本格式日期时间(如"2024-01-01 12:00:00")。

实现了 idb_tb_result.

◆ get_decimal()

NEFORCE_NODISCARD decimal_t sqlite_prepared_result::get_decimal ( size_type n) const
overridevirtual

获取十进制值

参数
n列索引
返回
十进制数对象

实现了 idb_tb_result.

引用了 get_decimal().

被这些函数引用 get_decimal().

◆ get_float32()

NEFORCE_NODISCARD float32_t sqlite_prepared_result::get_float32 ( size_type n) const
overridevirtual

获取32位浮点值

参数
n列索引
返回
32位浮点数

实现了 idb_tb_result.

引用了 get_float32().

被这些函数引用 get_float32().

◆ get_float64()

NEFORCE_NODISCARD float64_t sqlite_prepared_result::get_float64 ( size_type n) const
overridevirtual

获取64位浮点值

参数
n列索引
返回
64位浮点数

实现了 idb_tb_result.

引用了 get_float64().

被这些函数引用 get_float64().

◆ get_int16()

NEFORCE_NODISCARD int16_t sqlite_prepared_result::get_int16 ( size_type n) const
overridevirtual

获取16位整数值

参数
n列索引
返回
16位整数

实现了 idb_tb_result.

引用了 get_int16().

被这些函数引用 get_int16().

◆ get_int32()

NEFORCE_NODISCARD int32_t sqlite_prepared_result::get_int32 ( size_type n) const
overridevirtual

获取32位整数值

参数
n列索引
返回
32位整数

实现了 idb_tb_result.

引用了 get_int32().

被这些函数引用 get_int32().

◆ get_int64()

NEFORCE_NODISCARD int64_t sqlite_prepared_result::get_int64 ( size_type n) const
overridevirtual

获取64位整数值

参数
n列索引
返回
64位整数

实现了 idb_tb_result.

引用了 get_int64().

被这些函数引用 get_int64().

◆ get_time()

NEFORCE_NODISCARD time sqlite_prepared_result::get_time ( size_type n) const
inlineoverridevirtual

获取时间值

参数
n列索引
返回
时间对象

实现了 idb_tb_result.

在文件 sqlite_prepared_result.hpp200 行定义.

引用了 idb_tb_result::get_datetime() , 以及 datetime::time().

◆ get_timestamp()

NEFORCE_NODISCARD timestamp sqlite_prepared_result::get_timestamp ( size_type n) const
overridevirtual

获取时间戳值

参数
n列索引
返回
时间戳对象

实现了 idb_tb_result.

◆ NEFORCE_DEPRECATED_FOR()

NEFORCE_NODISCARD sqlite_prepared_result::NEFORCE_DEPRECATED_FOR ( "use COUNT * instead of using this function" ) const
inlineoverridenoexcept

获取结果集行数

返回
始终返回0

在文件 sqlite_prepared_result.hpp83 行定义.

引用了 idb_tb_result::row_count().

◆ next()

NEFORCE_NODISCARD bool sqlite_prepared_result::next ( )
overridevirtualnoexcept

移动到下一行

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

实现了 idb_result.


该结构体的文档由以下文件生成: