9#ifndef litesql_datasource_hpp
10#define litesql_datasource_hpp
28 std::vector<FieldType> fdatas;
29 T::getFieldTypes(fdatas);
49 : db(db_), sel(sel_) {
60 idq.result(T::Id.fullName());
67 cq.limit(0).offset(0);
68 cq.result(
"count(*)");
69 return atoi(db.query(cq)[0][0]);
85 std::vector<T>
all()
const {
103 sel.source(
id.table());
104 sel.where(
id == T::Id);
105 sel.
orderBy(f.fullName(), asc);
used to iterate results of SQL statement, creates objects of type T from retrieved records.
Definition cursor.hpp:22
size_t count() const
returns number of objects in result set
Definition datasource.hpp:64
const Database & getDatabase() const
returns database reference
Definition datasource.hpp:53
SelectQuery objectQuery() const
returns SelectQuery which selects objects
Definition datasource.hpp:72
DataSource & orderByRelation(FieldType id, FieldType f, bool asc=true)
modifies SelectQuery to order result set by external table
Definition datasource.hpp:102
Cursor< T > cursor() const
returns cursor for query
Definition datasource.hpp:76
DataSource(const Database &db_, const SelectQuery &sel_)
Definition datasource.hpp:48
DataSource(const Database &db_, const Expr &e=Expr())
Definition datasource.hpp:43
SelectQuery idQuery() const
returns SelectQuery which selects ID-numbers of objects
Definition datasource.hpp:57
std::vector< T > all() const
returns all objects in result set.
Definition datasource.hpp:85
T one() const
returns first object in result set.
Definition datasource.hpp:81
DataSource & orderBy(FieldType f, bool asc=true)
modifies SelectQuery to order result set
Definition datasource.hpp:93
A base class of databases.
Definition database.hpp:37
A base class for expression in WHERE - clause.
Definition expr.hpp:19
a class that helps creating SELECT-SQL statements.
Definition selectquery.hpp:18
SelectQuery selectObjectQuery(const std::vector< FieldType > &fdatas, const Expr &e=Expr())
returns SelectQuery which selects objects of type T
Definition datasource.cpp:10
Contains Expr-class hierarchy and operator overloadings for them.
contains SelectQuery-class.
int atoi(const std::string &s)
string version of atoi