Qt + MySQL + SQLServer 数据库

数据库是大部分项目中需要使用的,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,如下图所示。

enter image description here

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/。

进入MySQL官网找到下载地址

enter image description here

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

2.解压下载的安装包。

enter image description here

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

enter image description here

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

enter image description here

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

创建 Qt 应用程序

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

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

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

界面布局

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

运行效果展示

Qt+SQLServer

SQLServer 数据库简介

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

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

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

Qt 说明

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

创建一个 Qt 程序

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

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

enter image description here

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

enter image description here

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

enter image description here

下载说明

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

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

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

注意事项

以上是实现过程,但可能每个人在实际操作中可能会遇见问题,而且每个人的问题可能还是不一样的,如果各位读者在实际情况中遇到问题并且解决起来比较麻烦的时候可以及时的联系本人(lijaingjun931026@outlook.com、1073821369@qq.com,邮箱联系请说明情况)。


本文首发于GitChat,未经授权不得转载,转载需与GitChat联系。

阅读全文: http://gitbook.cn/gitchat/activity/5a6eb207dec8404943b995c1

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

  • 9
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值