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

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

#include <sqlite_prepared_statement.hpp>

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

Public 成员函数

 sqlite_prepared_statement (::sqlite3 *db, const string &sql)
 构造函数
 sqlite_prepared_statement (sqlite_prepared_statement &&other) noexcept
 移动构造函数
sqlite_prepared_statementoperator= (sqlite_prepared_statement &&other) noexcept
 移动赋值运算符
 ~sqlite_prepared_statement () override
 析构函数
NEFORCE_NODISCARD uint32_t param_count () const noexcept override
 获取参数数量
bool bind_param (uint32_t index, string_view value) override
 绑定字符串视图参数
bool bind_param (uint32_t index, const string &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
 执行非查询语句
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
 获取错误码

详细描述

SQLite预处理语句类

实现idb_prepared_statement接口,提供SQLite预处理语句的完整功能。 支持参数绑定、语句执行和结果集获取。

主要功能:

  • SQL语句预处理(支持?占位符)
  • 参数绑定
  • 语句执行
  • 查询执行
  • 语句重置和资源管理
  • 错误信息获取
注解
SQLite使用?作为参数占位符,参数索引从1开始。

在文件 sqlite_prepared_statement.hpp45 行定义.

构造及析构函数说明

◆ sqlite_prepared_statement() [1/2]

sqlite_prepared_statement::sqlite_prepared_statement ( ::sqlite3 * db,
const string & sql )
explicit

构造函数

参数
dbSQLite数据库连接句柄
sqlSQL语句(使用?作为占位符)

使用sqlite3_prepare_v2预处理SQL语句, 获取参数数量(?占位符个数)。

引用了 sqlite_prepared_statement().

被这些函数引用 operator=(), sqlite_prepared_statement() , 以及 sqlite_prepared_statement().

◆ sqlite_prepared_statement() [2/2]

sqlite_prepared_statement::sqlite_prepared_statement ( sqlite_prepared_statement && other)
noexcept

移动构造函数

参数
other源对象

引用了 sqlite_prepared_statement().

◆ ~sqlite_prepared_statement()

sqlite_prepared_statement::~sqlite_prepared_statement ( )
override

析构函数

调用sqlite3_finalize释放预处理语句资源。

成员函数说明

◆ bind_param() [1/7]

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

绑定二进制数据参数

参数
index参数索引(从1开始)
value字节视图
返回
绑定成功返回true

适用于BLOB类型的参数绑定。

实现了 idb_prepared_statement.

◆ bind_param() [2/7]

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

绑定C字符串参数

参数
index参数索引(从1开始)
valueC字符串
返回
绑定成功返回true

实现了 idb_prepared_statement.

在文件 sqlite_prepared_statement.hpp124 行定义.

引用了 bind_param().

被这些函数引用 bind_param().

◆ bind_param() [3/7]

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

绑定字符串参数

参数
index参数索引(从1开始)
value字符串值
返回
绑定成功返回true

实现了 idb_prepared_statement.

在文件 sqlite_prepared_statement.hpp116 行定义.

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

被这些函数引用 bind_param().

◆ bind_param() [4/7]

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

绑定浮点数参数

参数
index参数索引(从1开始)
value浮点值
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ bind_param() [5/7]

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

绑定32位整数参数

参数
index参数索引(从1开始)
value整数值
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ bind_param() [6/7]

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

绑定64位整数参数

参数
index参数索引(从1开始)
value整数值
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ bind_param() [7/7]

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

绑定字符串视图参数

参数
index参数索引(从1开始)
value字符串值
返回
绑定成功返回true

实现了 idb_prepared_statement.

◆ execute()

bool sqlite_prepared_statement::execute ( )
overridevirtual

执行非查询语句

返回
执行成功返回true

执行已绑定参数的预处理语句,不返回结果集。 执行后自动重置语句并清除绑定。

实现了 idb_prepared_statement.

◆ execute_query()

unique_ptr< idb_prepared_result > sqlite_prepared_statement::execute_query ( )
overridevirtual

执行查询语句

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

执行查询并返回结果集对象。 注意:结果集对象在析构时会重置语句,允许语句被复用。

实现了 idb_prepared_statement.

◆ get_errno()

NEFORCE_NODISCARD uint32_t sqlite_prepared_statement::get_errno ( ) const
inlineoverridevirtualnoexcept

获取错误码

返回
SQLite错误码

实现了 idb_prepared_statement.

在文件 sqlite_prepared_statement.hpp188 行定义.

◆ get_error()

NEFORCE_NODISCARD string_view sqlite_prepared_statement::get_error ( ) const
inlineoverridevirtualnoexcept

获取错误信息

返回
错误描述字符串

实现了 idb_prepared_statement.

在文件 sqlite_prepared_statement.hpp182 行定义.

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

◆ operator=()

sqlite_prepared_statement & sqlite_prepared_statement::operator= ( sqlite_prepared_statement && other)
noexcept

移动赋值运算符

参数
other源对象
返回
自身引用

引用了 sqlite_prepared_statement().

◆ param_count()

NEFORCE_NODISCARD uint32_t sqlite_prepared_statement::param_count ( ) const
inlineoverridevirtualnoexcept

获取参数数量

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

实现了 idb_prepared_statement.

在文件 sqlite_prepared_statement.hpp100 行定义.


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