資源簡介
QT SQLite封裝
代碼片段和文件信息
#include?“HY_SQLite_DLL.h“
#include?se>
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
//=================================
HY_SQLite_DLL::HY_SQLite_DLL(const?QString?strType?/*?=?“sqlite“*/)
{
????__strDbType?=?strType.toUpper();
????QString?dbType(“SQLITE“);
????if(“SQLITE“?==?__strDbType)
????????dbType?=?“QSQLITE“;?//QTPLUGIN?+=?qsqlite?Q_IMPORT_PLUGIN(QSQLiteDriverPlugin)
????else?if?(“MYSQL“?==?__strDbType)
????????dbType?=?“QMYSQL“;?//QTPLUGIN?+=?qsqlmysql?Q_IMPORT_PLUGIN(QMYSQLDriverPlugin)
????else?if?(“SQLSERVER“?==?__strDbType)
????????dbType?=?“QODBC“;?//QTPLUGIN?+=?qsqlodbc??Q_IMPORT_PLUGIN(QODBCDriverPlugin)
????else?if(“ACCESS“?==?__strDbType)
????????dbType?=?“QODBC“;?//QTPLUGIN?+=?qsqlodbc??Q_IMPORT_PLUGIN(QODBCDriverPlugin)
????else
????{
????????dbType?=?““;
????????throw?“ERROR:?DB?type?name?invalid!“;
????}
????int?iConnIdx?=?0;
????while(1)
????{
????????__strConnName?=?QString(“MyDBProcessConn%1“).arg(++iConnIdx);
????????QSqlDatabase?dbConn?=?QSqlDatabase::database(__strConnName?false);
????????if(dbConn.isValid())//存在連接
????????{
????????????continue;
????????}
????????m_pDB?=?new?QSqlDatabase(QSqlDatabase::addDatabase(dbType?__strConnName));
????????break;
????}
}
HY_SQLite_DLL::~HY_SQLite_DLL()
{
????qDeleteAll(__lstQrys);
????m_pDB->close();
????delete?m_pDB;
????QSqlDatabase::removeDatabase(__strConnName);
}
bool?HY_SQLite_DLL::openDB(const?QString?strDBname)
{
????return?openDB(““?strDBname);
}
bool?HY_SQLite_DLL::openDB(const?QString?strSvrName
????????????????????????const?QString?strDBname
????????????????????????const?QString?strUserID
????????????????????????const?QString?strUserPwd)
{
????if(isOpen())
????????return?false;
????__strDbName?=?strDBname;
????bool?bRet?=?false;
????if(“SQLITE“?==?__strDbType)
????{
????????bRet?=?__openSqlite(strDBname);
????}
????else?if(“MYSQL“?==?__strDbType)
????{
????????bRet?=?__openMySql(strSvrName?strDBname?strUserID?strUserPwd);
????}
????else?if(“SQLSERVER“?==?__strDbType)
????{
????????bRet?=?__connectSqlServer(strSvrName?strDBname?strUserID?strUserPwd);
????}
????else?if(“ACCESS“?==?__strDbType)
????{
????????if(strSvrName.length()?1)
????????{
????????????bRet?=?__openMDB(strDBname?strUserID?strUserPwd);
????????}
????????else
????????{
????????????bRet?=?__openMDBByUDL(strSvrName);?//here?strSvrName?is?UDL?file?name
????????}
????}
????return?bRet;
}
bool?HY_SQLite_DLL::__openMDB(const?QString?strMDBname?QString?strUserID?const?QString?strPassword)
{
????QString?strMDB?=?strMDBname.trimmed();
????if(strUserID.isEmpty())
????{
????????strUserID?=?“sa“;
????}
????if(QFileInfo(strMDB).fileName()?==?strMDB)
????{
????????//no?path?only?md
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1023??2020-10-09?10:35??HY_SQLite_DLL\.qmake.stash
?????文件??????11043??2020-10-09?10:31??HY_SQLite_DLL\HY_SQLite_DLL.cpp
?????文件???????7882??2020-10-09?10:40??HY_SQLite_DLL\HY_SQLite_DLL.h
?????文件???????1125??2020-10-09?10:36??HY_SQLite_DLL\HY_SQLite_DLL.pro
?????文件??????24169??2020-10-09?10:41??HY_SQLite_DLL\HY_SQLite_DLL.pro.user
?????文件????????288??2020-10-09?09:24??HY_SQLite_DLL\hy_sqlite_dll_global.h
?????文件??????28449??2020-10-09?10:36??HY_SQLite_DLL\Makefile
?????文件??????22321??2020-10-09?10:36??HY_SQLite_DLL\Makefile.Debug
?????文件??????22367??2020-10-09?10:36??HY_SQLite_DLL\Makefile.Release
?????文件??????28193??2020-10-09?10:41??HY_SQLite_DLL\release\HY_SQLite_DLL.o
?????目錄??????????0??2020-10-09?10:35??HY_SQLite_DLL\debug
?????目錄??????????0??2020-10-09?10:41??HY_SQLite_DLL\release
?????目錄??????????0??2020-10-09?10:41??HY_SQLite_DLL
-----------?---------??----------?-----??----
???????????????146860????????????????????13
評論
共有 條評論