AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
anch::sql::SQLite3ResultSet Class Reference

SQLite3 result set implementation. More...

#include <sqlite3ResultSet.hpp>

+ Inheritance diagram for anch::sql::SQLite3ResultSet:
+ Collaboration diagram for anch::sql::SQLite3ResultSet:

Public Member Functions

 SQLite3ResultSet (sqlite3_stmt *stmt, bool prepared=false) noexcept
 
virtual ~SQLite3ResultSet ()
 
virtual bool next ()
 
- Public Member Functions inherited from anch::sql::ResultSet
 ResultSet () noexcept
 
virtual ~ResultSet () noexcept
 
template<typename T>
bool get (std::size_t idx, T &out)
 
template<typename T>
bool get (const std::string field, T &out)
 
template<typename T>
std::optional< T > get (std::size_t idx)
 
template<typename T>
const std::optional< T > get (const std::string field)
 

Protected Member Functions

virtual bool getValue (std::size_t idx, std::string &out) override
 
virtual std::optional< std::string > getValue (std::size_t idx) override
 
virtual const anch::date::DateFormattergetDateFormatter () override
 
virtual const anch::date::DateFormattergetTimeFormatter () override
 
virtual const anch::date::DateFormattergetTimestampFormatter () override
 
- Protected Member Functions inherited from anch::sql::ResultSet
const anch::date::DateFormattergetDefaultDateFormatter ()
 
const anch::date::DateFormattergetDefaultTimeFormatter ()
 
const anch::date::DateFormattergetDefaultTimestampFormatter ()
 

Additional Inherited Members

- Protected Attributes inherited from anch::sql::ResultSet
std::map< std::string, std::size_t > _fields
 

Detailed Description

SQLite3 result set implementation.

Implements ResultSet for SQLite3

Author
Vincent Lachenal
Since
0.1

Constructor & Destructor Documentation

◆ SQLite3ResultSet()

anch::sql::SQLite3ResultSet::SQLite3ResultSet ( sqlite3_stmt * stmt,
bool prepared = false )
noexcept

SQLite3ResultSet constructor

Parameters
stmtthe SQLite3 statement
preparedprepared statement or not (default to not)

◆ ~SQLite3ResultSet()

virtual anch::sql::SQLite3ResultSet::~SQLite3ResultSet ( )
virtual

SQLite3ResultSet destructor

+ Here is the call graph for this function:

Member Function Documentation

◆ getDateFormatter()

virtual const anch::date::DateFormatter & anch::sql::SQLite3ResultSet::getDateFormatter ( )
overrideprotectedvirtual

Retrieve SQL date formatter

Returns
the SQL date formatter

Implements anch::sql::ResultSet.

+ Here is the call graph for this function:

◆ getTimeFormatter()

virtual const anch::date::DateFormatter & anch::sql::SQLite3ResultSet::getTimeFormatter ( )
overrideprotectedvirtual

Retrieve SQL time formatter

Returns
the SQL time formatter

Implements anch::sql::ResultSet.

+ Here is the call graph for this function:

◆ getTimestampFormatter()

virtual const anch::date::DateFormatter & anch::sql::SQLite3ResultSet::getTimestampFormatter ( )
overrideprotectedvirtual

Retrieve SQL timestamp formatter

Returns
the SQL timestamp formatter

Implements anch::sql::ResultSet.

+ Here is the call graph for this function:

◆ getValue() [1/2]

virtual std::optional< std::string > anch::sql::SQLite3ResultSet::getValue ( std::size_t idx)
overrideprotectedvirtual

Retrieve string value from result set according to SQL database engine.

Parameters
idxthe index
Returns
the result
Exceptions
SqlExceptionany error

Implements anch::sql::ResultSet.

+ Here is the call graph for this function:

◆ getValue() [2/2]

virtual bool anch::sql::SQLite3ResultSet::getValue ( std::size_t idx,
std::string & out )
overrideprotectedvirtual

Retrieve string value from result set according to SQL database engine.

Parameters
idxthe field index
outthe result
Exceptions
SqlExceptionany error

Implements anch::sql::ResultSet.

+ Here is the call graph for this function:

◆ next()

virtual bool anch::sql::SQLite3ResultSet::next ( )
virtual

Fetch next row in SQL result set.

Returns
true if next row exists, false otherwise
Exceptions
SqlExceptionany error

Implements anch::sql::ResultSet.

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: