除了Qt自带的SQLite, Qt还对当前盛行的关系数据库如MySQL、PostgreSQL、DB2、Oracle等供应了支持。下面以最常用的MySQL为例,演示Qt对其访问和操作的方法。
自从Oracle收购MySQL后对其进行了商业化,如今的MySQL己经不能算是一个完备开源的数据库了,而Qt官方则一贯严格秉持着开源理念,故Qt取消了对MySQL数据库的默认支持,Qt环境中不再内置MySQL的驱动(QMYSQL),用户若是还想利用Qt连接操作MySQL, 只能用Qt的源码工程自行编译天生MySQL的驱动DLL库,然后引入开拓环境利用,过程比较麻烦,下面先容详细操作步骤。
(1)安装MySql下载安装Mysql的免费社区版,官网为:https://dev.mysql.com/downloads/。
(2)复制库文件
打开MySQL安装目录下的“lib”文件夹(我的是“C:\Program Files\MySQL\MySQL Server 8.0\lib”),看到里面有两个文件“libmysql.dll”和“libmysql.lib”,将它们复制到Qt的MinGW编译器的“bin”目录(我的是“C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin”)下。把稳版本(32或64位)要同等。
(3)Qt源码如果安装时选择了安装源码,则可找到Qt安装目录下源代码目录中的“mysql”文件夹(我的路径是“C:\Qt\Qt5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql”,请根据自己安装的实际路径探求。),
如果没有安装,则可在官网单独下载,地址为:https://download.qt.io/archive/qt/5.14/5.14.2/submodules/qtbase-everywhere-src-5.14.2.tar.xz。
(4)编辑项目文件进入源代码的“mysql”文件夹,可见个中有一个名为“mysql.pro”的Qt项目工程配置文件。
用文本编辑器打开“mysql.pro”文件,修正其内容如下:
TARGET = qsqlmysql# 添加 MySql 的 include 路径INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 8.0\include"# 添加MySQL的libmysql.lib路径,为驱动的天生供应lib文件LIBS += "C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib"HEADERS += $$PWD/qsql_mysql_p.hSOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp# 注释掉这条语句#QMAKE_USE += mysqlOTHER_FILES += mysql.jsonPLUGIN_CLASS_NAME = QMYSQLDriverPlugininclude(../qsqldriverbase.pri)# 天生dll驱动文件的目标地址,这里将地址设置在mysql下的lib文件夹中DESTDIR = C:\Qt\Qt5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql\lib
以上配置的这几个路径请根据自己打算机上安装MySQL及Qt的实际情形填写。
(5)编译项目启动QtCreator,定位到“mysql”文件夹下,打开“mysql.pro”对应的Qt项目,运行此项目,如果系统弹出框提示有一些构建缺点,单击“Yes”按钮忽略。
(6)复制驱动文件打开“mysql”文件夹,可看到个中多了个“lib”子文件夹,进入可看到编译天生的3个文件。个中,“qsqlmysql.dll”和“qsqlmysql.dll.debug”即是我们须要的Qt环境MySQL数据库的驱动。
选中上面天生的“qsqlmysql.dll”和“qsqlmysql.dll.debug”驱动文件并复制,然后将其粘贴到Qt安装目录下的“sqldrivers”文件夹(我的路径为 “C:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers”,请根据自己安装Qt的实际路径复制)下。
这样,我们就成功地给Qt环境添加了MySQL驱动,后面编程中就可以利用这个驱动访问MySQL数据库了。
————————————————
以为有用的话请关注点赞,感激您的支持!
对付本系列文章干系示例完全代码有须要的朋友,可关注并在评论区留言!