25 explicit CDatabase(QObject *parent =
nullptr);
36 [[nodiscard]]
bool SetDatabase(
const CDatabase* db);
42 [[nodiscard]]
bool SetDatabase(
const QSqlDatabase db,
const CParameterDatabase* pPara);
45 [[nodiscard]] QSqlDatabase GetDatabase()
const;
58 [[nodiscard]]
bool OpenDatabase(
60 const QString& szConnectName = QString());
61 [[nodiscard]]
bool OpenMySqlDatabase(
63 const QString& szConnectName = QString());
64 [[nodiscard]]
bool OpenODBCDatabase(
66 const QString& szConnectName = QString());
67 [[nodiscard]]
bool OpenSQLiteDatabase(
69 const QString &szConnectionName = QString());
70 [[nodiscard]]
bool OpenSQLiteDatabase(
71 const QString& szFile,
72 const QString& szConnectionName = QString());
75 [[nodiscard]]
virtual bool IsOpen()
const;
83 [[nodiscard]]
const QString GetError()
const;
88 [[nodiscard]]
virtual bool ExportToJsonFile(
const QString& szFile);
89 [[nodiscard]]
virtual bool ImportFromJsonFile(
const QString& szFile);
103 [[nodiscard]]
virtual bool OnInitializeDatabase();
104 [[nodiscard]]
virtual bool OnInitializeSqliteDatabase();
105 [[nodiscard]]
virtual bool OnInitializeMySqlDatabase();
108 void SetError(
const QString& szErr = QString());
110 [[nodiscard]]
virtual bool ExportToJson(QJsonObject& obj);
111 [[nodiscard]]
virtual bool ImportFromJson(
const QJsonObject& obj);
114 QString m_szConnectName;
115 QString m_MinVersion;
119 QSqlDatabase m_database;
134 QObject *parent =
nullptr);
142 [[nodiscard]]
int GetIcon(
const QIcon& icon);
143 [[nodiscard]] QIcon GetIcon(
int id);
145 [[nodiscard]]
static bool ExportIconToJson(
const QIcon& icon, QJsonObject& obj);
146 [[nodiscard]]
static bool ImportIconFromJson(
const QJsonObject &obj, QIcon& icon);
149 bool OnInitializeSqliteDatabase()
override;
150 bool OnInitializeMySqlDatabase()
override;
155 QString m_szTableName;
169 QObject *parent =
nullptr);
171 bool IsExist(
const QString& szFile);
177 [[nodiscard]] QByteArray Load(
const QString &szFile);
182 bool Save(
const QString& szFile);
190 [[nodiscard]]
static bool ExportFileToJson(
const QString &szFile, QJsonObject &obj);
197 [[nodiscard]]
static bool ImportFileFromJson(
const QJsonObject &obj, QString &szFile);
204 [[nodiscard]]
bool ImportFileToDatabaseFromJson(
const QJsonObject &obj, QString &szFile);
211 [[nodiscard]]
static QString GetFile(
const QString& szFile);
217 [[nodiscard]]
static QString SetFile(
const QString& szFile);
220 [[nodiscard]]
virtual bool OnInitializeSqliteDatabase()
override;
221 [[nodiscard]]
virtual bool OnInitializeMySqlDatabase()
override;
224 QString m_szTableName;