97 lines
3.3 KiB
C
Raw Normal View History

2024-11-25 17:15:44 +08:00
#ifndef MYSQLDATABASE_H
#define MYSQLDATABASE_H
#include <QWidget>
#include <QSqlDatabase>
#include <QSqlQuery>
class MySqlDataBase : public QWidget
{
Q_OBJECT
public:
MySqlDataBase(QWidget *parent = nullptr);
~MySqlDataBase();
//QVariantMap -- QMap<QString,QVariant> --QMap<字段名,值>
//一下所有用到的位置都是该数据内容
/*********打开数据库*****
* QString name- const QString &type-
* true- false-
* *********/
bool openDB(QString name,const QString &type = "QMYSQL");
//关闭数据库
void closeDB();
/*********创建数据表*****
* QString table- QMap<QString,QString>-(arg1字段名)(arg2数据类型)
* true- false-
* 使
* *********/
bool createTable(QString table,QMap<QString,QString>);
/*********数据库插入操作*****
* QString table- QVariantMap map-
* true- false-
* *********/
bool insertRowTable(QString table,QVariantMap map);
/*********删除数据库中的某一行*****
* QString table- QString columName- QString value-
* true- false-
* *********/
bool deleteRowTable(QString table,QString columName,QString value);
/*********更新数据库中的某一行*****
* QString table- QString name- QVariantMap map-
* true- false-
* *********/
bool updateRowTable(QString table,QString name,QVariantMap map);
/*********更新数据库中的某一行*****
* QString table- QString targetkey- QString targetValue- QVariantMap map-
* key,value是针对全部要修改的
* true- false-
* *********/
bool updateRowTable(QString table,QString targetkey,QString targetValue,QString name,QVariantMap map);
/*********升序排列*****
* QString table- QString target-
* key,value是针对全部要修改的
* true- false-
* *********/
bool sortTable(QString table,QString target);
/********获取数据库的查询结果*****
* 使,
* int page- int pageNum-
* QList<QVariantMap>-
* *********/
QList<QVariantMap>getValues(int page,int pageNum);
/****返回数据库的搜索结果个数*****/
//在使用这个函数之前需要调用查询语句。
int size();
void setLastError(const QString& error);
QString lastError();
//获取当前数据表信息
QMap<QString,QString> getTableInfo(QString table);
QSqlQuery& getSqlQUery();
bool isTableExist(QString table);
bool prepare(const QString& query);
bool exec(const QString &query);
bool exec();
private:
QSqlDatabase m_database;
QSqlQuery m_sqlQuery;
QString m_lastError;
};
#endif // MYSQLDATABASE_H