26 #include <initializer_list> 43 typedef std::map<std::string, std::string>
result;
44 typedef std::pair<std::string, std::string>
result_p;
50 typedef std::vector<result>
rows;
80 bool open(std::string name);
96 bool exec(
const std::string& sql_s)
const;
104 bool exec(
const std::string& sql_s,
105 const std::initializer_list<std::string>& args)
const;
112 rows
select(
const std::string& sql_s)
const;
121 rows
select(
const std::string& sql_s,
122 const std::initializer_list<std::string>& args)
const;
131 result
select_one(
const std::string& sql_s)
const;
143 const std::initializer_list<std::string>& args)
const;
149 intptr_t
get_id(
void)
const;
161 void close(
void)
const;
184 bool bind_args(sqlite3_stmt *stmt,
185 const std::string& sql_s,
186 const std::initializer_list<std::string>& args)
const;
static DBEngine * DBEngine_instance
Definition: db.hpp:174
void close(void) const
Close database. Call this on app shutdown.
Definition: db.cpp:278
DBEngine()
Definition: db.cpp:33
std::map< std::string, std::string > result
A map that represents SQL result. The key is row name, the value is row value.
Definition: db.hpp:43
std::pair< std::string, std::string > result_p
Definition: db.hpp:44
static DBEngine * getInstance()
Return instance of DBEngine object. Check current instance. If it is NULL then create a new one...
Definition: db.cpp:28
result select_one(const std::string &sql_s) const
select Execute raw SQL statement and return the single result
Definition: db.cpp:219
bool init(void)
Itialize database. Create tables and default bootsrap data on first startup.
Definition: db.cpp:48
intptr_t get_id(void) const
Get last insert rowid.
Definition: db.cpp:266
rows select(const std::string &sql_s) const
Execute raw SQL statement and return the result.
Definition: db.cpp:170
bool is_open(void) const
Check if database already open.
Definition: db.cpp:274
std::vector< result > rows
An a vector of resuls.
Definition: db.hpp:50
bool exec(const std::string &sql_s) const
Execute raw SQL statement. Use this fuction to call raw SQL statements. If you need to bind values...
Definition: db.cpp:125
q4wine's SQLite3 engine warper. This class provides basic common SQL workflow, like making SQL querie...
Definition: db.hpp:59
bool open(std::string name)
Open SQLite database.
Definition: db.cpp:36
~DBEngine()
Definition: db.cpp:270
DBEngine & operator=(DBEngine const &)=delete