12#include <QSqlDatabase>
16#include "heart_global.h"
20#include <QCoreApplication>
58 virtual bool initDb(
const QVariantMap ¶ms);
67 QList<QSharedPointer<PKG::DBObject>> &result)
override;
68 bool updateObject(
const QSharedPointer<PKG::DBObject> &ptr,
bool wait =
false)
override;
69 bool deleteObject(
const QSharedPointer<PKG::DBObject> &ptr,
bool wait =
false)
override;
70 bool insertObject(
const QSharedPointer<PKG::DBObject> &ptr,
bool wait =
false,
71 const QWeakPointer<unsigned int>& autoincrementIdResult = {})
override;
72 bool replaceObject(
const QSharedPointer<PKG::DBObject> &ptr,
bool wait =
false)
override;
75 bool doQuery(
const QString& query,
const QVariantMap& bindValues = {},
bool wait =
false, QSqlQuery *result =
nullptr)
const override;
76 bool doSql(
const QString &sqlFile,
bool wait)
const override;
93 virtual bool updateQuery(
const QSharedPointer<QH::PKG::DBObject> &ptr)
const;
102 QList<QSharedPointer<QH::PKG::DBObject>> &result);
119 const QWeakPointer<unsigned int>& autoIncrementID = {})
const;
162 virtual QVariantMap
getInitParams(
const QString& initFile)
const;
191 const QString &name);
204 const QSqlDatabase*
db()
const;
216 bool workWithQuery(QSqlQuery &q,
218 const std::function<
bool()>& cb)
const;
220 bool exec(QSqlQuery *sq,
const QString &sqlFile)
const;
227 bool initDbPrivate(
const QVariantMap ¶ms);
235 bool doQueryPrivate(
const QString& query,
236 const QVariantMap &bindValues,
237 QSqlQuery *result)
const;
239 bool doSqlPrivate(
const QString &sqlFile)
const;
241 bool initSuccessful =
false;
243 QStringList _SQLSources;
245 QSqlDatabase *_db =
nullptr;
Async(QThread *thread)
Async This is default constructor of the async object.
The DBObject class- main class for work with data base.
bool disableFK()
disableFK This method disable foreign key for the sqlite database.
bool deleteObject(const QSharedPointer< PKG::DBObject > &ptr, bool wait=false) override
deleteObject This method execute a delete method of obj and remove current object from database.
virtual bool updateQuery(const QSharedPointer< QH::PKG::DBObject > &ptr) const
updateQuery This method execute update query of object. For more Information see DBObject::prepareUpd...
SqlDBWriter(QThread *thread)
QString databaseLocation() const
databaseLocation This method return location of database. If it is sqlite then return path to db file...
bool updateObject(const QSharedPointer< PKG::DBObject > &ptr, bool wait=false) override
updateObject This method execute a update method of the saveObject and save all changes into database...
bool doSql(const QString &sqlFile, bool wait) const override
doSql This method execute a query in this database.
QSqlDatabase * db()
db This method return db connection. If SqlDBWriter in not inited then return nullptr....
bool enableFK()
enableFK This method enable foreign key for the sqlite database.
virtual bool replaceQuery(const QSharedPointer< QH::PKG::DBObject > &insertObject) const
replaceQuery This method prepare the replce object query.
virtual QSqlDatabase initSqlDataBasse(const QString &driverName, const QString &name)
initSqlDataBasse This method create ad database connection. Without configuration....
bool doQuery(const QString &query, const QVariantMap &bindValues={}, bool wait=false, QSqlQuery *result=nullptr) const override
doQuery This method execute a query in this database.
bool replaceObject(const QSharedPointer< PKG::DBObject > &ptr, bool wait=false) override
replaceObject This method execute a replace method of the saveObject and insert or save if not exists...
virtual bool selectQuery(const QH::PKG::DBObject &requestObject, QList< QSharedPointer< QH::PKG::DBObject > > &result)
selectQuery generate select query to database from parameters.
void setSQLSources(const QStringList &list) override
setSQLSources This method set sql sources for deployed database.
virtual bool isValid() const
isValid This method return true if database is successful inited and working correctly.
virtual bool deleteQuery(const QSharedPointer< QH::PKG::DBObject > &deleteObject) const
deleteQuery This method prepare the delete object query.
virtual bool initDb(const QString &initDbParams=DEFAULT_DB_PATH)
initDb This method is wraper of the initDb(const QVariantMap ¶ms) method. This implementation rea...
virtual QVariantMap getInitParams(const QString &initFile) const
getInitPararm This method read parameters of database.
bool getAllObjects(const PKG::DBObject &templateObject, QList< QSharedPointer< PKG::DBObject > > &result) override
getAllObjects This method execute a select method of the templateObject and return list of all select...
virtual bool insertQuery(const QSharedPointer< QH::PKG::DBObject > &insertObject, const QWeakPointer< unsigned int > &autoIncrementID={}) const
insertQuery This method prepare the insert object query.
virtual QVariantMap defaultInitPararm() const
defaultInitPararm This method return default parameters of the database.
bool insertObject(const QSharedPointer< PKG::DBObject > &ptr, bool wait=false, const QWeakPointer< unsigned int > &autoincrementIdResult={}) override
insertObject This method execute a insert method of the saveObject and insert it into database.
The iObjectProvider class is base interface for work with database objects. Using on database writers...
PrepareResult
The PrepareResult enum is result of work prepare sql query of dbobjects.
The QH namespace - QuasarApp Heart namespace. This namespace contains all classes of the Heart librar...