diff --git a/src/db/SQLHelper.cpp b/src/db/SQLHelper.cpp index f386e34..62e30f5 100644 --- a/src/db/SQLHelper.cpp +++ b/src/db/SQLHelper.cpp @@ -3,9 +3,11 @@ // #include "SQLHelper.h" - +#include #include #include +#include +#include QSqlDatabase* SQLHelper::defaultDatabase= nullptr; QHash* SQLHelper::cache= new QHash; bool SQLHelper::Open() { @@ -36,6 +38,8 @@ void SQLHelper::Close() { } } + + QSqlTableModel* SQLHelper::getTable(const QString &tableName) { if (cache->contains(tableName)) return (*cache)[tableName]; CenterAlignSqlTableModel *model = new CenterAlignSqlTableModel(nullptr,*defaultDatabase); @@ -43,3 +47,13 @@ QSqlTableModel* SQLHelper::getTable(const QString &tableName) { (*cache)[tableName] = model; return (*cache)[tableName]; } + +int SQLHelper::QueryCount(QString sql) { + QSqlQuery query(*defaultDatabase); + if (query.exec(sql)) + { + query.last(); + return query.at()+1; + } + return 0; +} diff --git a/src/db/SQLHelper.h b/src/db/SQLHelper.h index 1e15046..9573623 100644 --- a/src/db/SQLHelper.h +++ b/src/db/SQLHelper.h @@ -7,6 +7,7 @@ class QSqlDatabase; #include "CenterAlignSqlTableModel.h" + #include #include @@ -15,6 +16,7 @@ public: static bool Open(); static bool Open(QSqlDatabase* base); static void Close(); + static int QueryCount(QString sql); static QSqlTableModel* getTable(const QString & tableName); private: static QSqlDatabase* defaultDatabase;