• 大小: 0.02M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-22
  • 语言: C/C++
  • 标签: QT  SQLite封装  

资源简介

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


评论

共有 条评论