11/25
This commit is contained in:
146
ZBD_IIIDL_S_Project/Src/DataBaseControl/cdatabaseinterface.cpp
Normal file
146
ZBD_IIIDL_S_Project/Src/DataBaseControl/cdatabaseinterface.cpp
Normal file
@@ -0,0 +1,146 @@
|
||||
#include "cdatabaseinterface.h"
|
||||
#include "mysqldatabase.h"
|
||||
#include <QMap>
|
||||
#include <QDebug>
|
||||
|
||||
#pragma execution_character_set("utf-8")
|
||||
|
||||
CDatabaseInterface* CDatabaseInterface::m_DatabaseInterface = NULL;
|
||||
|
||||
CDatabaseInterface::CDatabaseInterface(QObject *parent) : QObject(parent)
|
||||
{
|
||||
m_sqlDataBase = new MySqlDataBase();
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::openDB(QString name,const QString &type )
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->openDB(name,type);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void CDatabaseInterface::closeDB()
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
m_sqlDataBase->closeDB();
|
||||
}
|
||||
}
|
||||
|
||||
CDatabaseInterface* CDatabaseInterface::getInstance()
|
||||
{
|
||||
if(!m_DatabaseInterface)
|
||||
m_DatabaseInterface = new CDatabaseInterface();
|
||||
return m_DatabaseInterface;
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::createTable(QString table,QMap<QString,QString> map)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->createTable(table,map);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::insertRowTable(QString table,QVariantMap map)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->insertRowTable(table,map);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::deleteRowTable(QString table,QString columName,QString value)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->deleteRowTable(table,columName,value);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::updateRowTable(QString table,QString name,QVariantMap map)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->updateRowTable(table,name,map);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::updateRowTable(QString table,QString targetkey,QString targetValue,QString name,QVariantMap map)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->updateRowTable(table,targetkey,targetValue,name,map);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::sortTable(QString table,QString target)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->sortTable(table,target);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QList<QVariantMap> CDatabaseInterface::getValues(int page,int pageNum)
|
||||
{
|
||||
QList<QVariantMap> List;
|
||||
List.clear();
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->getValues(page,pageNum);
|
||||
}
|
||||
return List;
|
||||
}
|
||||
|
||||
bool CDatabaseInterface::prepare(const QString& query)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->prepare(query);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool CDatabaseInterface::exec(const QString &query)
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->exec(query);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool CDatabaseInterface::exec()
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->exec();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QString CDatabaseInterface::getLastError()
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->lastError();
|
||||
}
|
||||
else
|
||||
return QString("数据库未初始化");
|
||||
}
|
||||
|
||||
int CDatabaseInterface::getValuesSize()
|
||||
{
|
||||
if(m_sqlDataBase)
|
||||
{
|
||||
return m_sqlDataBase->size();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
80
ZBD_IIIDL_S_Project/Src/DataBaseControl/cdatabaseinterface.h
Normal file
80
ZBD_IIIDL_S_Project/Src/DataBaseControl/cdatabaseinterface.h
Normal file
@@ -0,0 +1,80 @@
|
||||
#ifndef CDATABASEINTERFACE_H
|
||||
#define CDATABASEINTERFACE_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QVariant>
|
||||
#include <QString>
|
||||
class MySqlDataBase;
|
||||
class CDatabaseInterface : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
static CDatabaseInterface* getInstance();
|
||||
|
||||
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-具体数据
|
||||
* targetkey,targetValue为查询条件
|
||||
* name查询条件二
|
||||
* 返回值 true-插入成功 false-插入失败
|
||||
* *********/
|
||||
bool updateRowTable(QString table,QString targetkey,QString targetValue,QString name,QVariantMap map);
|
||||
|
||||
/*********升序排列*****
|
||||
* 参数 QString table-表名 QString target-字段名
|
||||
* 返回值 true-插入成功 false-插入失败
|
||||
* *********/
|
||||
bool sortTable(QString table,QString target);
|
||||
|
||||
/********获取数据库的查询结果*****
|
||||
* 说明:在使用该函数之前需要先执行查询语句,具体为
|
||||
* 参数 int page-从哪一页获取 int pageNum-一页获取多少数据
|
||||
* 返回值 QList<QVariantMap>-查询得到的结果
|
||||
* *********/
|
||||
QList<QVariantMap>getValues(int page,int pageNum);
|
||||
|
||||
bool prepare(const QString& query);
|
||||
bool exec(const QString &query);
|
||||
bool exec();
|
||||
//获取数据库操作最后出现的错误
|
||||
QString getLastError();
|
||||
|
||||
int getValuesSize();
|
||||
private:
|
||||
explicit CDatabaseInterface(QObject *parent = nullptr);
|
||||
|
||||
static CDatabaseInterface* m_DatabaseInterface;
|
||||
|
||||
MySqlDataBase *m_sqlDataBase;
|
||||
};
|
||||
|
||||
#endif // CDATABASEINTERFACE_H
|
||||
332
ZBD_IIIDL_S_Project/Src/DataBaseControl/mysqldatabase.cpp
Normal file
332
ZBD_IIIDL_S_Project/Src/DataBaseControl/mysqldatabase.cpp
Normal file
@@ -0,0 +1,332 @@
|
||||
#include "mysqldatabase.h"
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlQuery>
|
||||
#include <QDebug>
|
||||
#include <QSqlError>
|
||||
#include <QSqlDriver>
|
||||
#include <QSqlRecord>
|
||||
#include <QSqlField>
|
||||
MySqlDataBase::MySqlDataBase(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
MySqlDataBase::~MySqlDataBase()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*********打开数据库***************/
|
||||
bool MySqlDataBase::openDB(QString name,const QString &type)
|
||||
{
|
||||
//首先判断是否该数据库
|
||||
if(QSqlDatabase::contains(name))
|
||||
{
|
||||
m_database = QSqlDatabase::database(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
/***根据type类型添加数据库驱动****/
|
||||
m_database = QSqlDatabase::addDatabase(type,name);
|
||||
/****设置数据库连接名****/
|
||||
m_database.setDatabaseName(name);
|
||||
}
|
||||
|
||||
m_database.setUserName("root");
|
||||
m_database.setPassword("root");
|
||||
|
||||
if(!m_database.open())
|
||||
{
|
||||
setLastError(m_database.lastError().text());
|
||||
return false;
|
||||
}
|
||||
m_sqlQuery = QSqlQuery(m_database);
|
||||
|
||||
qDebug()<<QSqlDatabase::connectionNames();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MySqlDataBase::closeDB()
|
||||
{
|
||||
if(m_database.isOpen())
|
||||
m_database.close();
|
||||
}
|
||||
|
||||
/*********创建数据库表格**************/
|
||||
bool MySqlDataBase::createTable(QString table,QMap<QString,QString> map)
|
||||
{
|
||||
if(!isTableExist(table))
|
||||
{
|
||||
QString tableList = QString("create table if not exists %1 (").arg(table);
|
||||
QMapIterator<QString,QString> iter(map);
|
||||
while(iter.hasNext())
|
||||
{
|
||||
iter.next();
|
||||
tableList.append(QString("%1 %2").arg(iter.key()).arg(iter.value()));
|
||||
if(iter.hasNext())
|
||||
tableList.append(",");
|
||||
}
|
||||
tableList.append(")");
|
||||
//执行sql语句
|
||||
return this->exec(tableList);
|
||||
}
|
||||
else
|
||||
{
|
||||
setLastError(QString("Exist table<%1>").arg(table));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*********数据库插入操作**************/
|
||||
bool MySqlDataBase::insertRowTable(QString table,QVariantMap map)
|
||||
{
|
||||
QMap<QString,QString> tableContentMap;
|
||||
if(!isTableExist(table))
|
||||
{
|
||||
setLastError(QString("Not find %1 table").arg(table));
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
tableContentMap = getTableInfo(table);
|
||||
if(tableContentMap.isEmpty())
|
||||
return false;
|
||||
}
|
||||
|
||||
QString insertTableContent = QString("insert into %1(").arg(table);
|
||||
QString values = QString(" values(");
|
||||
|
||||
QMapIterator<QString,QString> iter(tableContentMap);
|
||||
|
||||
while(iter.hasNext())
|
||||
{
|
||||
iter.next();
|
||||
insertTableContent.append(QString("%1").arg(iter.key()));
|
||||
values.append("?");
|
||||
if(iter.hasNext())
|
||||
{
|
||||
insertTableContent.append(", ");
|
||||
values.append(",");
|
||||
}
|
||||
}
|
||||
insertTableContent.append(")");
|
||||
values.append(")");
|
||||
|
||||
insertTableContent.append(values);
|
||||
|
||||
// qDebug()<<insertTableContent;
|
||||
|
||||
if(!this->prepare(insertTableContent))
|
||||
return false;
|
||||
QMapIterator<QString,QString> iter_(tableContentMap);
|
||||
while(iter_.hasNext())
|
||||
{
|
||||
iter_.next();
|
||||
m_sqlQuery.addBindValue(map[iter_.key()]);
|
||||
}
|
||||
return this->exec();
|
||||
}
|
||||
|
||||
/*********删除数据库中的某一行*********/
|
||||
bool MySqlDataBase::deleteRowTable(QString table,QString columName,QString value)
|
||||
{
|
||||
QString delereContent = QString("delete from %1 where %2 = '%3'").arg(table).arg(columName).arg(value);
|
||||
|
||||
return this->exec(delereContent);
|
||||
}
|
||||
|
||||
/*********更新/更改某一个字段的n行数据*********/
|
||||
bool MySqlDataBase::updateRowTable(QString table,QString name,QVariantMap map)
|
||||
{
|
||||
QString content = QString("update %1 set ").arg(table);
|
||||
QMapIterator<QString,QVariant> iter(map);
|
||||
|
||||
while(iter.hasNext())
|
||||
{
|
||||
iter.next();
|
||||
if(iter.hasNext())
|
||||
content += QString("%1 = '%2',").arg(iter.key()).arg(iter.value().toString());
|
||||
else
|
||||
content += QString("%1 = '%2' ").arg(iter.key()).arg(iter.value().toString());
|
||||
}
|
||||
content += QString("where %1 = '%2'").arg(name).arg(map[name].toString());
|
||||
return this->exec(content);
|
||||
}
|
||||
|
||||
/*********更新某个字段为特定值的其他字段的值********/
|
||||
bool MySqlDataBase::updateRowTable(QString table,QString targetkey,QString targetValue,QString name,QVariantMap map)
|
||||
{
|
||||
QString content = QString("update %1 set ").arg(table);
|
||||
QMapIterator<QString,QVariant> iter(map);
|
||||
while(iter.hasNext())
|
||||
{
|
||||
iter.next();
|
||||
if(iter.key() == "UUID")
|
||||
continue;
|
||||
if(iter.hasNext())
|
||||
content += QString("%1 = '%2',").arg(iter.key()).arg(iter.value().toString());
|
||||
else
|
||||
content += QString("%1 = '%2' ").arg(iter.key()).arg(iter.value().toString());
|
||||
}
|
||||
|
||||
content += QString("where %1 = '%2' and %3 = '%4'").arg(targetkey).arg(targetValue).arg(name).arg(map[name].toString());
|
||||
|
||||
return this->exec(content);
|
||||
}
|
||||
|
||||
/*********升序排列*************/
|
||||
bool MySqlDataBase::sortTable(QString table,QString target)
|
||||
{
|
||||
/***select * from table by target*/
|
||||
QString sortContent = QString("select * from %1 order by '%2'").arg(table).arg(target);
|
||||
return this->exec(sortContent);
|
||||
}
|
||||
|
||||
/********获取数据库的查询结果*******/
|
||||
QList<QVariantMap> MySqlDataBase::getValues(int page,int pageNum)
|
||||
{
|
||||
QList<QVariantMap>list;
|
||||
bool ok = m_sqlQuery.isSelect();
|
||||
|
||||
if(!ok)
|
||||
return QList<QVariantMap>();
|
||||
if( (!m_sqlQuery.seek(page)))
|
||||
{
|
||||
setLastError("gevalues error![The number of pages is out of the limit]");
|
||||
}
|
||||
do
|
||||
{
|
||||
QVariantMap map;
|
||||
for(int i = 0;i < m_sqlQuery.record().count();i++)
|
||||
{
|
||||
map.insert(m_sqlQuery.record().field(i).name(),
|
||||
m_sqlQuery.record().field(i).value());
|
||||
|
||||
}
|
||||
list.append(map);
|
||||
}while(m_sqlQuery.next() && --pageNum);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/****获取个数*****/
|
||||
int MySqlDataBase::size()
|
||||
{
|
||||
int size = -1;
|
||||
|
||||
while(m_sqlQuery.isSelect() && m_sqlQuery.next())
|
||||
{
|
||||
/***驱动支持返回记录***/
|
||||
if(m_sqlQuery.driver()->hasFeature(QSqlDriver::QuerySize))
|
||||
{
|
||||
size = m_sqlQuery.size();
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sqlQuery.last();
|
||||
size = m_sqlQuery.at() + 1 ;
|
||||
}
|
||||
}
|
||||
//返回第一个结果
|
||||
m_sqlQuery.first();
|
||||
return size;
|
||||
}
|
||||
|
||||
QString MySqlDataBase::lastError()
|
||||
{
|
||||
return m_lastError;
|
||||
}
|
||||
void MySqlDataBase::setLastError(const QString& error)
|
||||
{
|
||||
m_lastError = error;
|
||||
}
|
||||
QSqlQuery& MySqlDataBase::getSqlQUery()
|
||||
{
|
||||
return m_sqlQuery;
|
||||
}
|
||||
bool MySqlDataBase::isTableExist(QString table)
|
||||
{
|
||||
QStringList tables = m_database.tables();
|
||||
if(tables.contains(table))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
bool MySqlDataBase::prepare(const QString& query)
|
||||
{
|
||||
if(!m_sqlQuery.prepare(QString(query)))
|
||||
{
|
||||
setLastError(m_sqlQuery.lastError().text());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
bool MySqlDataBase::exec(const QString &query)
|
||||
{
|
||||
if(!m_sqlQuery.exec(QString(query)))
|
||||
{
|
||||
setLastError(m_sqlQuery.lastError().text());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
bool MySqlDataBase::exec()
|
||||
{
|
||||
if(!m_sqlQuery.exec())
|
||||
{
|
||||
setLastError(m_sqlQuery.lastError().text());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
QMap<QString,QString> MySqlDataBase::getTableInfo(QString table)
|
||||
{
|
||||
QMap<QString,QString>tableMap;
|
||||
QString str = QString("PRAGMA table_info(%1)").arg(table);
|
||||
|
||||
m_sqlQuery.prepare(str);
|
||||
|
||||
if(m_sqlQuery.exec())
|
||||
{
|
||||
while(m_sqlQuery.next())
|
||||
{
|
||||
tableMap[m_sqlQuery.value(1).toString()] = m_sqlQuery.value(2).toString();
|
||||
}
|
||||
return tableMap;
|
||||
}
|
||||
else
|
||||
{
|
||||
setLastError(m_sqlQuery.lastError().text());
|
||||
return tableMap;
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
bool MySqlDataBase::initDataBase()
|
||||
{
|
||||
db = QSqlDatabase::addDatabase("QMYSQL");//设置数据库类型
|
||||
|
||||
db.setHostName("localhost");//设置数据库主机名
|
||||
db.setDatabaseName("mysql");//设置数据库的名字
|
||||
|
||||
db.setUserName("root");//设置数据库登录用户
|
||||
db.setPassword("root");//设置数据库登录密码
|
||||
|
||||
|
||||
if(!db.open())
|
||||
{
|
||||
qDebug()<<"database open failed";
|
||||
QSqlError error = db.lastError();
|
||||
qDebug()<<error.text();
|
||||
return false;
|
||||
}
|
||||
qDebug()<<"database open success";
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
96
ZBD_IIIDL_S_Project/Src/DataBaseControl/mysqldatabase.h
Normal file
96
ZBD_IIIDL_S_Project/Src/DataBaseControl/mysqldatabase.h
Normal file
@@ -0,0 +1,96 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user