You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
822 B
C++
48 lines
822 B
C++
#ifndef CDATABASE_H
|
|
#define CDATABASE_H
|
|
|
|
|
|
#include <QSqlDatabase>
|
|
#include <QSqlQuery>
|
|
#include <QSqlError>
|
|
#include <QList>
|
|
|
|
|
|
typedef struct tagSQLTRANSLATE
|
|
{
|
|
QString sql;
|
|
QString dbType;
|
|
QString translated;
|
|
} SQLTRANSLATE;
|
|
|
|
|
|
class cDatabase
|
|
{
|
|
public:
|
|
cDatabase();
|
|
~cDatabase();
|
|
|
|
bool connect();
|
|
|
|
QSqlDatabase db();
|
|
private:
|
|
QString m_databaseType;
|
|
QString m_hostName;
|
|
qint16 m_port;
|
|
QString m_databaseName;
|
|
QString m_userName;
|
|
QString m_password;
|
|
QSqlDatabase m_db;
|
|
|
|
QList<SQLTRANSLATE> m_sqlTranslate;
|
|
|
|
void addTranslate(const QString& sql, const QString& dbType, const QString& translated);
|
|
QString translate(const QString& sql, const QString& dbType);
|
|
|
|
bool checkDB();
|
|
bool createTables();
|
|
bool upgradeDB(const QString& version);
|
|
};
|
|
|
|
#endif // CDATABASE_H
|