Add a query count method to SQLHelper
This commit is contained in:
@@ -3,9 +3,11 @@
|
||||
//
|
||||
|
||||
#include "SQLHelper.h"
|
||||
|
||||
#include <QSqlQuery>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlQuery>
|
||||
#include <QSqlRecord>
|
||||
#include <qdebug.h>
|
||||
QSqlDatabase* SQLHelper::defaultDatabase= nullptr;
|
||||
QHash<QString,CenterAlignSqlTableModel*>* SQLHelper::cache= new QHash<QString,CenterAlignSqlTableModel*>;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
class QSqlDatabase;
|
||||
#include "CenterAlignSqlTableModel.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QHash>
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user