1 Star 0 Fork 0

cpplibs/Cpp11Sqlite

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
SqliteDB.cpp 1.25 KB
一键复制 编辑 原始数据 按行查看 历史
luotuo44 提交于 2017-01-07 08:25 . 实现插入的preparedstatement功能
//Use of this source code is governed by a BSD-style license
#include"SqliteDB.h"
#include<stdexcept>
#include<sqlite3.h>
#include"PreparedStatement.h"
SqliteDB::SqliteDB(const std::string &db_file)
: m_conn(nullptr)
{
int ret = sqlite3_open(db_file.c_str(), &m_conn);;
if( ret != SQLITE_OK )
{
std::string msg(sqlite3_errmsg(m_conn));
throw std::runtime_error("fail to open " + db_file + " reason: " + msg);
}
}
SqliteDB::~SqliteDB()
{
close();//忽略所有错误
}
int SqliteDB::close()
{
int ret = closeConn();
if( ret == SQLITE_OK )
m_conn = nullptr;
return ret;
}
int SqliteDB::closeConn()
{
return sqlite3_close(m_conn);
}
const char* SqliteDB::errorMsg()
{
return sqlite3_errmsg(m_conn);
}
int SqliteDB::execute(const std::string &sql)
{
return sqlite3_exec(m_conn, sql.c_str(), nullptr, nullptr, nullptr);
}
//====================================PreparedStatement=====================
std::weak_ptr<PreparedStatement> SqliteDB::createPreparedStatement(const std::string &sql)
{
std::shared_ptr<PreparedStatement> stmt(new PreparedStatement(m_conn, sql));
m_stmt_list.push_back(stmt);
return std::weak_ptr<PreparedStatement>(stmt);
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/cpplibs/Cpp11Sqlite.git
[email protected]:cpplibs/Cpp11Sqlite.git
cpplibs
Cpp11Sqlite
Cpp11Sqlite
master

搜索帮助