LiteLoaderBDS-1.16.40/LiteLoader/include/llapi/db/Impl/sqlite/Session.h
2023-03-02 23:06:13 -08:00

34 lines
788 B
C++

#pragma once
#include "llapi/db/Session.h"
struct sqlite3;
namespace DB
{
class SQLiteSession : public Session
{
sqlite3* conn = nullptr;
public:
SQLiteSession();
SQLiteSession(const ConnParams& params);
~SQLiteSession();
void open(const ConnParams& params);
bool execute(const std::string& query);
Session& query(const std::string& query, std::function<bool(const Row&)> callback);
SharedPointer<Stmt> prepare(const std::string& query, bool autoExecute = false);
std::string getLastError() const;
uint64_t getAffectedRows() const;
uint64_t getLastInsertId() const;
void close();
bool isOpen();
DBType getType();
SharedPointer<Stmt> operator<<(const std::string& query);
friend class SQLiteStmt;
};
} // namespace db