1#ifndef NEFORCE_DATABASE_MYSQL_CONNECT_HPP__
2#define NEFORCE_DATABASE_MYSQL_CONNECT_HPP__
11#ifdef NEFORCE_SUPPORT_MYSQL
12# include <mysql/mysql.h>
14NEFORCE_BEGIN_NAMESPACE__
96 NEFORCE_NODISCARD
bool set_options(::mysql_option option, const
string& str) const noexcept;
121 NEFORCE_NODISCARD
bool update(const
string& sql) const noexcept override;
142 NEFORCE_NODISCARD
bool connected() const noexcept
override {
return link_ !=
nullptr; }
148 NEFORCE_NODISCARD
bool is_valid() const noexcept
override { return ::mysql_ping(link_) == 0; }
184NEFORCE_END_NAMESPACE__
idb_factory(db_config config)
构造函数
idb_result * create_result(void *native_result) override
创建MySQL结果集对象
idb_connect * create_connect() override
创建MySQL连接对象
mysql_factory(db_config config)
构造函数
unsigned int uint32_t
32位无符号整数类型
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
basic_string_view< char > string_view
字符字符串视图
virtual void close()=0
关闭连接
NEFORCE_NODISCARD unique_ptr< idb_tb_result > query(const string &sql) const noexcept override
执行查询SQL语句
NEFORCE_NODISCARD uint32_t get_errno() const noexcept override
获取最后错误码
NEFORCE_NODISCARD bool reconnect(const db_config &config) override
重新连接数据库
NEFORCE_NODISCARD bool set_character_set(const string &encoding) const noexcept override
设置字符集
NEFORCE_NODISCARD bool set_options(::mysql_option option, const string &str) const noexcept
设置MySQL连接选项
void close() noexcept override
关闭数据库连接
~mysql_connect() noexcept override
析构函数
NEFORCE_NODISCARD bool update(const string &sql) const noexcept override
执行非查询SQL语句
NEFORCE_NODISCARD string_view get_character_set() const noexcept override
获取当前字符集
NEFORCE_NODISCARD unique_ptr< idb_prepared_statement > prepare_statement(const string &sql) const override
创建预处理语句
NEFORCE_NODISCARD bool is_valid() const noexcept override
检查连接是否有效
NEFORCE_NODISCARD bool connect(const db_config &config) noexcept override
建立数据库连接
NEFORCE_NODISCARD bool connected() const noexcept override
检查连接是否已建立
NEFORCE_NODISCARD string_view get_error() const noexcept override
获取最后错误信息