Qt + MySQL + SQLServer 数据库

程空万里 2018-08-04

数据库是大部分项目中需要使用的,MySQL 和 SQLServer 是一半公司会选择的,在开发过程中很容易遇到各种问题,接下来是我用 Qt 来连接 MySQL 和 SQLServer 的讲解!

  • Qt + MySQL
  • Qt 版本说明
  • MySQL 驱动问题
  • Qt 测试连接 MySQL 数据库
  • Qt + SQLServer
  • SQLServer 的安装
  • Qt 测试连接 SQLServer 数据库

Qt+数据库概要简介

简介

本次 Qt+MySQL+SqlServer 数据库作为一个开头,讲解如何使用 Qt 来正确连接 MySQL 和 SQL Server 数据库,并简单的使用查询语句来查询数据库中数据并显示在界面表中,以此来验证正确连接数据库。

本次的源码已经上传到码云,并附带链接,供所有人下载。

这不是我们最终的目的,我们最终想要仿照 Navicat 软件,编写一个属于自己的 Navicat 软件。

工具介绍

工具简述Qt应用程序开发,推荐使用较高版本MySQLMySQL数据库,到官网下载SqlServerSqlServer数据库,到官网下载

知识点介绍

知识点简述Qt界面程序使用Qt创建一个带界面的应用程序连接数据库使用Qt连接数据库Qt中控件使用Qt控件包括按钮,表,文本框等程序逻辑编程软件的逻辑模块

最终目标

仿 Navicat,如下图所示。

Qt + MySQL + SQLServer 数据库

Qt+MySQL

MySQL 数据库简介

MySQL 是最常用的数据库之一,而在使用的时候往往可能会遇到一些问题,接下来是使用 Qt 来连接 MySQL数据库的操作。

  1. MySQL 数据库的安装,直接在网上查找教程即可(多数朋友可能没有远程数据库,所以需要先安装MySQL数据库);
  2. 也可以使用远程数据库,本教程中我使用的就是远程数据库(我买的阿里云虚拟主机带的数据库)。

Qt 版本说明

  1. Qt 可以使用界面设计器,之后准备再利用 Qt 做一个类似 Navicat 的数据库编辑器项目;在这里要说明的是 Qt 已经更新了很多个版本,最新版本已经到 Qt5.10.0 了;具体版本选择可根据用户习惯进行选择,但是我在这里要提醒大家的是有的版本可能不能连接上数据,这是我遇到过的问题,之前安装的是 Qt5.2.0 版本,但是不管怎么弄都无法连接上我的远程数据,后来重新安装了 Qt5.10.0,就可以连上了。
  2. 如果是 Qt 比较老的版本还要手动编译 MySQL 数据库驱动,Qt5 之后就不需要手动编译驱动了,所以建议大家使用比较高版本的 Qt。

MySQL 驱动问题

使用 MySQL 数据库是需要 MySQL 驱动的,但是 Qt5 以后就已经自带,不需要手动编译了;但是还是需要 MySQL 的链接库。

如果没有远程数据库,那么需要安装数据库;安装完成后将 MySQL 安装目录下目录的 lib 里可以找到 MySQL 的动态链接库 libmysql.dll 和 libmysqld.dll;然后将这两个动态库拷贝到 Qt 安装目录下的 bin 文件夹下。

如果已经有远程数据库了还不想安装 MySQL 数据库就直接使用也是可以支持的;以下是图解:

1.到 MySQL 官网下载安装压缩包。官网地址:https://dev.mysql.com/downloads/。

Qt + MySQL + SQLServer 数据库

Qt + MySQL + SQLServer 数据库

注:图中下载的只是一个压缩安装包,我们不用安装的;

2.解压下载的安装包。

Qt + MySQL + SQLServer 数据库

3.进入解压的目录里面,在进入 lib 文件夹,找到链接库 libmysql.dll 和 libmysqld.dll,复制这两个库文件。

Qt + MySQL + SQLServer 数据库

4.将 libmysql.dll 和 libmysqld.dll 两个库文件拷贝到 Qt 安装目录下 bin 文件夹里面。

Qt + MySQL + SQLServer 数据库

注:在我的 Qt 安装目录下,我只用了 libmysql.dll 库,其实是可以的,但是有可能需要 libmysqld.dll 库,所以多了没有关系,少了可能会有关系。

创建 Qt 应用程序

Qt 可以是控制台程序,也可以是带界面的窗口程序。在我示例程序中我将使用带界面的应用程序,因为这样可以将获取的信息很好的展示出来。

1.创建带界面的过程这里就不再赘述,直接进行操作(我使用的 MainWindow 类型的界面,也可以使用其他的类型的界面,根据自己喜好)。

2.在 Qt 界面设计器中编辑新建的界面,添加一个按钮(QPushButton)一个表(QTableView)。并为按钮添加一个槽函数。

Qt + MySQL + SQLServer 数据库

3.在工程文件中添加 SQL(数据库)模块。

Qt + MySQL + SQLServer 数据库

4.头文件中添加初始化函数,数据库句柄,如下图。

Qt + MySQL + SQLServer 数据库

5.cpp文件中实现初始化函数。注意,初始化函数中需要填数据库信息,实验中是本人的远程数据库信息,不方便透露,实际中只要按照自己的数据库信息填即可。

Qt + MySQL + SQLServer 数据库

6.按钮槽函数实现点击按钮查询数据库信息。

Qt + MySQL + SQLServer 数据库

7.运行后效果展示,如下图所示。

Qt + MySQL + SQLServer 数据库

Qt+SQLServer

SQLServer 数据库简介

SQLServer 是微软开发的一款关系型数据库,虽说官方是作为一款收费产品,但是作为国人要么就是使用不收费的社区版,更多的使用破解版也是挺不错,使用 SQLServer 的公司也还是挺多的,接下来是使用 Qt 来连接 SQLServer 数据库的操作。

  1. SQLServer 数据库的安装,可以直接在网上查找教程;
  2. 也可以使用远程数据库,本教程中我使用的就是本地 SQLServer 数据库;

安装 SQLServer

SQLServer 的安装按照网上教程步骤一步一步安装即可。安装完成后需要创建一个用户名、密码以及数据库。

Qt 说明

上一节已经有过说明,这里就不在赘述,请参考上一节。

创建一个 Qt 程序

Qt 可以是控制台程序,也可以是带界面的窗口程序。在我示例程序中我将使用带界面的应用程序,因为这样可以将获取的信息很好的展示出来,操作与 Qt 连接 MySQL 数据库一样,只有一点微小的不通之处。

1.创建带界面的过程这里就不再赘述,直接进行操作(我使用的 MainWindow 类型的界面,也可以使用其他的类型的界面,根据自己喜好)。2.在 Qt 界面设计器中编辑新建的界面,添加一个按钮(QPushButton)一个表(QTableView);并为按钮添加一个槽函数。

Qt + MySQL + SQLServer 数据库

3.在工程文件中添加 SQL(数据库)模块

Qt + MySQL + SQLServer 数据库

4.头文件中添加初始化函数,数据库句柄,如下图。

Qt + MySQL + SQLServer 数据库

5.cpp文件中实现初始化函数,注意,实际中只要按照自己的数据库信息填即可。

Qt + MySQL + SQLServer 数据库

Qt + MySQL + SQLServer 数据库

6.按钮槽函数实现点击按钮查询数据库信息。

Qt + MySQL + SQLServer 数据库

7.运行后效果展示,如下图所示。

Qt + MySQL + SQLServer 数据库

下载说明

Qt5.10,下载链接:https://pan.baidu.com/s/1kWXyzwb 密码:4o8t。

MySQL 免安装包,下载链接:https://pan.baidu.com/s/1dGLzxaL 密码:i34t。

SQLServer 安装包:由于安装包过大,需要的朋友私聊直接发送。

注意事项

以上是实现过程,但可能每个人在实际操作中可能会遇见问题,而且每个人的问题可能还是不一样的

相关推荐