22 #ifndef SQLITE_CONNECTOR
23 #define SQLITE_CONNECTOR
25 #include <boost/lexical_cast.hpp>
34 SqliteConnector(
const std::string& dbName,
const std::string& dir =
".");
38 virtual void query(
const std::string& queryString);
43 template <
typename STRING_CONTAINER>
46 *query_and_text_params.begin(),
47 std::vector<std::string>{std::next(query_and_text_params.begin()),
48 query_and_text_params.end()});
51 const std::vector<std::string>& text_param);
55 const std::vector<std::string>& text_params,
56 const std::vector<BindType>& bind_types);
59 const std::string& text_param);
62 std::vector<std::vector<std::string>>& insert_vals);
69 assert(row < static_cast<int>(
numRows_));
70 assert(col < static_cast<int>(
numCols_));
71 return boost::lexical_cast<
T>(
results_[col][row].result);
74 bool isNull(
const int row,
const int col)
const {
75 assert(row < static_cast<int>(
numRows_));
76 assert(col < static_cast<int>(
numCols_));
96 std::vector<std::vector<NullableResult>>
results_;
101 #endif // SQLITE_CONNECTOR
T getData(const int row, const int col)
virtual void query_with_text_params(std::string const &query_only)
virtual void batch_insert(const std::string &table_name, std::vector< std::vector< std::string >> &insert_vals)
virtual void query(const std::string &queryString)
std::vector< std::vector< NullableResult > > results_
std::vector< int > columnTypes
bool isNull(const int row, const int col) const
void query_with_text_params(STRING_CONTAINER const &query_and_text_params)
virtual ~SqliteConnector()
virtual size_t getNumCols() const
std::vector< std::string > columnNames
auto getSqlitePtr() const
virtual void query_with_text_param(const std::string &queryString, const std::string &text_param)
virtual size_t getNumRows() const