程空万里 2018-08-04
数据库是大部分项目中需要使用的,MySQL 和 SQLServer 是一半公司会选择的,在开发过程中很容易遇到各种问题,接下来是我用 Qt 来连接 MySQL 和 SQLServer 的讲解!
Qt+数据库概要简介
简介
本次 Qt+MySQL+SqlServer 数据库作为一个开头,讲解如何使用 Qt 来正确连接 MySQL 和 SQL Server 数据库,并简单的使用查询语句来查询数据库中数据并显示在界面表中,以此来验证正确连接数据库。
本次的源码已经上传到码云,并附带链接,供所有人下载。
这不是我们最终的目的,我们最终想要仿照 Navicat 软件,编写一个属于自己的 Navicat 软件。
工具介绍
工具简述Qt应用程序开发,推荐使用较高版本MySQLMySQL数据库,到官网下载SqlServerSqlServer数据库,到官网下载
知识点介绍
知识点简述Qt界面程序使用Qt创建一个带界面的应用程序连接数据库使用Qt连接数据库Qt中控件使用Qt控件包括按钮,表,文本框等程序逻辑编程软件的逻辑模块
最终目标
仿 Navicat,如下图所示。
Qt+MySQL
MySQL 数据库简介
MySQL 是最常用的数据库之一,而在使用的时候往往可能会遇到一些问题,接下来是使用 Qt 来连接 MySQL数据库的操作。
Qt 版本说明
MySQL 驱动问题
使用 MySQL 数据库是需要 MySQL 驱动的,但是 Qt5 以后就已经自带,不需要手动编译了;但是还是需要 MySQL 的链接库。
如果没有远程数据库,那么需要安装数据库;安装完成后将 MySQL 安装目录下目录的 lib 里可以找到 MySQL 的动态链接库 libmysql.dll 和 libmysqld.dll;然后将这两个动态库拷贝到 Qt 安装目录下的 bin 文件夹下。
如果已经有远程数据库了还不想安装 MySQL 数据库就直接使用也是可以支持的;以下是图解:
1.到 MySQL 官网下载安装压缩包。官网地址:https://dev.mysql.com/downloads/。
注:图中下载的只是一个压缩安装包,我们不用安装的;
2.解压下载的安装包。
3.进入解压的目录里面,在进入 lib 文件夹,找到链接库 libmysql.dll 和 libmysqld.dll,复制这两个库文件。
4.将 libmysql.dll 和 libmysqld.dll 两个库文件拷贝到 Qt 安装目录下 bin 文件夹里面。
注:在我的 Qt 安装目录下,我只用了 libmysql.dll 库,其实是可以的,但是有可能需要 libmysqld.dll 库,所以多了没有关系,少了可能会有关系。
创建 Qt 应用程序
Qt 可以是控制台程序,也可以是带界面的窗口程序。在我示例程序中我将使用带界面的应用程序,因为这样可以将获取的信息很好的展示出来。
1.创建带界面的过程这里就不再赘述,直接进行操作(我使用的 MainWindow 类型的界面,也可以使用其他的类型的界面,根据自己喜好)。
2.在 Qt 界面设计器中编辑新建的界面,添加一个按钮(QPushButton)一个表(QTableView)。并为按钮添加一个槽函数。
3.在工程文件中添加 SQL(数据库)模块。
4.头文件中添加初始化函数,数据库句柄,如下图。
5.cpp文件中实现初始化函数。注意,初始化函数中需要填数据库信息,实验中是本人的远程数据库信息,不方便透露,实际中只要按照自己的数据库信息填即可。
6.按钮槽函数实现点击按钮查询数据库信息。
7.运行后效果展示,如下图所示。
Qt+SQLServer
SQLServer 数据库简介
SQLServer 是微软开发的一款关系型数据库,虽说官方是作为一款收费产品,但是作为国人要么就是使用不收费的社区版,更多的使用破解版也是挺不错,使用 SQLServer 的公司也还是挺多的,接下来是使用 Qt 来连接 SQLServer 数据库的操作。
安装 SQLServer
SQLServer 的安装按照网上教程步骤一步一步安装即可。安装完成后需要创建一个用户名、密码以及数据库。
Qt 说明
上一节已经有过说明,这里就不在赘述,请参考上一节。
创建一个 Qt 程序
Qt 可以是控制台程序,也可以是带界面的窗口程序。在我示例程序中我将使用带界面的应用程序,因为这样可以将获取的信息很好的展示出来,操作与 Qt 连接 MySQL 数据库一样,只有一点微小的不通之处。
1.创建带界面的过程这里就不再赘述,直接进行操作(我使用的 MainWindow 类型的界面,也可以使用其他的类型的界面,根据自己喜好)。2.在 Qt 界面设计器中编辑新建的界面,添加一个按钮(QPushButton)一个表(QTableView);并为按钮添加一个槽函数。
3.在工程文件中添加 SQL(数据库)模块
4.头文件中添加初始化函数,数据库句柄,如下图。
5.cpp文件中实现初始化函数,注意,实际中只要按照自己的数据库信息填即可。
6.按钮槽函数实现点击按钮查询数据库信息。
7.运行后效果展示,如下图所示。
下载说明
Qt5.10,下载链接:https://pan.baidu.com/s/1kWXyzwb 密码:4o8t。
MySQL 免安装包,下载链接:https://pan.baidu.com/s/1dGLzxaL 密码:i34t。
SQLServer 安装包:由于安装包过大,需要的朋友私聊直接发送。
注意事项
以上是实现过程,但可能每个人在实际操作中可能会遇见问题,而且每个人的问题可能还是不一样的