资源简介
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
- 上一篇:QML非常经典的代码
- 下一篇:使用QWT库实现接收串口数据,并根据串口实时数据画图
相关资源
- 使用QWT库实现接收串口数据,并根据
- QT半透明效果界面
- Qt5串口通信-windows
- 计算机远程唤醒和关机
- 使用wxWidgets进行跨平台程序开发
- QT 动态曲线
- QT视频播放器(基于FFmpeg)
- 嵌入式QtC++编程课件
- STM32连接EC20使用内置MQTT协议接入阿里
- Qt 瑞士军刀开发工具
- qt处理图形
- c++ 画图(14Qt-XPS)
- QT CAN例程
- 使用Qt实现Excel读取工具
- Qt 通讯软件模块的开发
- Qt TCP聊天室demo
- Qt曲线
- qt样式表武林秘籍(73页)
- stm32 MQTT
- QT信号槽开发
- Wemos D1 mini阿里云MQTT例程
- QT 计算文件夹内所有代码行数
- qt写的记事本
- QT自定义皮肤例子56387
- qt上位机采集51单片机温湿度数据
- MQTT协议
- 五子棋C++(Qt版).zip
- Qt飞机大战小游戏源代码
- 基于qt的c++编写的贪吃蛇游戏
- 嵌入式Qt实战教程.
评论
共有 条评论