Skip to content
This repository has been archived by the owner on Sep 7, 2024. It is now read-only.

Commit

Permalink
ADD: overloading driver function issue #153
Browse files Browse the repository at this point in the history
  • Loading branch information
anak10thn committed Feb 24, 2015
1 parent afa1086 commit b6f8cbf
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/ignsql.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,36 @@ bool ignsql::driver(const QString &drv, QString connect){

}

bool ignsql::driver(const QVariant &config){
QVariantMap conf = json->jsonParser(config).toVariantMap();
QString drv = conf["driver"].toString();
QString host = conf["hostname"].toString();
QString user = conf["username"].toString();
QString pass = conf["password"].toString();
QString dbase = conf["db"].toString();
if(drv == "mysql"){
this->db = QSqlDatabase::addDatabase("QMYSQL");
this->db.setHostName(host);
this->db.setUserName(user);
this->db.setPassword(pass);
this->db.setDatabaseName(dbase);
return this->db.open();
}
else if (drv == "sqlite2"){
this->db = QSqlDatabase::addDatabase("QSQLITE2");
this->db.setDatabaseName(dbase);
return this->db.open();
}
else if (drv == "sqlite"){
this->db = QSqlDatabase::addDatabase("QSQLITE");
this->db.setDatabaseName(dbase);
return this->db.open();
}
else{
return false;
}
}

QVariant ignsql::query(const QString &qr){
bool status;
int size;
Expand Down
3 changes: 3 additions & 0 deletions src/ignsql.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonParseError>
#include "ignjson.h"

class ignsql : public QObject
{
Expand All @@ -15,11 +16,13 @@ class ignsql : public QObject
explicit ignsql(QObject *parent = 0);
//QSqlQuery qry;
QSqlDatabase db;
ignjson *json;
signals:
//void record_sig(bool err,const QByteArray& data);
//void record(bool err,const QByteArray& data);
public slots:
bool driver(const QString& drv, QString connect);
bool driver(const QVariant &config);
QVariant query(const QString& qr);
//void record_slot(bool err,const QByteArray& data);
};
Expand Down

0 comments on commit b6f8cbf

Please sign in to comment.