qt mysql接口设计_毕业设计之qt连接MySQL

//连接MySQL数据库的函数

bool LoginView::createConnection()

{

QSqlDatabase t_db = QSqlDatabase::addDatabase("QMYSQL");

t_db.setHostName("localhost");

t_db.setDatabaseName("chatsystem");

t_db.setUserName("root");

t_db.setPassword("123456");

if(!t_db.open())

{

//打开失败

QMessageBox::critical(0, QObject::tr("Database Error"), t_db.lastError().text());

return false;

}

return true;

}

当我按下Ctrl+R后qt creator报出了一堆好大的错误。我百度了好久才发现qt本身是没有连接MySQL的驱动的,于是我便面临了一个“怎么用qt编译MySQL驱动"的问题。后来在网上找了很久,不得不说网上一些技术类的问题大部分都是n年前的。不过还是被我找到了我想要的东西(Qt5.1.1 编译 MySql5.6.17驱动程序的过程和注意事项)。

别想搞技术总是一帆风顺的,qt creator似乎和我开了个玩笑。其实那个人说的qtbase就在qt安装目录下的src文件里面有。但是我的不知道怎么回事,尽然连src文件都没有,如图:

7d70d14587b27248a79e984f43646ae9.png

解决方法就是重装qt,并且在选择想要安装的组件中勾上source components:

eda6cd5e8b63d4761a26fa80815c47e2.png

就这样,src文件也有了,我本以为这回应该OK了吧。但是我在编译mingw32-make命令的时候又出现了一大推的错误(说的好像是缺少什么文件,但是网上找了个遍硬是没找到)。开始我总以为是我的哪一步忘了操作或者是qt和MySQL没装好,于是我不停的卸了又装装了又卸。这样耗费了我一个下午的时间,但到晚上的时候依然还是那个错误,我崩溃了!

第二天,我又继续在网上找关于"qt编译MySQL驱动"的问题,结果是依然没有找到。但好消息是从某个网友的博客上看到了qt5.2以后的版本都自带了MySQL驱动(我的版本:qt5.1)。我便马上跑到官网上下了一个qt5.4(在这里我要吐槽一下某狗浏览器下载工具,竟然平均只有90kb/s。几百兆的东西,你应该能猜出我下了多久。最可恶的是当我下到90%的时候竟然出现0B/s后就不动了 。啊!!!又一次崩溃了!哈哈 不过也有亮点哦 我试探性的在下载条那里点击了右键,居然出现了"复制下载地址"。于是我马上祭出了我的神器——某雷,瞬间达到了600kb/s )。安装好,当我运行程序的时候,又出现了让我心痛的一幕:

9d2dcfc58afd75bfd82ac9f98093bbb3.png

遇见问题就百度,我按照网上的搞了好久都没搞好(可能真的是我太笨了!!!)。但我发现了个问题:

84a3f4d8f0a94ec82ac38e198f0fef60.png

黑色框住的那个是我之前下的。其实qt有很多版本,黑色的和橙色的区别在于编译器的不同。终于,qt搞定了。由于我之前把MySQL已经卸掉了,我要重新安装一下,于是我又从MySQL官网下了一个mysql-installer-community-5.6.23.0(地址:http://dev.mysql.com/downloads/windows/installer/之前用的MySQL 5.5 ,想试一下最新版)。但是这其中又遇到了很多问题 ,首先出现了这个:

ada3e86e5543c2474d7b8678dbc982d2.png

网上找了很久,还是没找到原因。于是我不管它,继续点next,下一步好像是从网上下载一些MySQL需要用到的包(这是软件在检查更新并下载。不得不说这个过程真的有点漫长,最主要的是下载的过程中竟然因为连接服务器失败又重新下了一次,再次崩溃!!!!!!)。网上有些资料上面讲可以通过勾选跳过选项而不需要去检查更新,但是我的还是没有。不知道是个别情况还是这个版本的MySQL就是这样的。不管这些,继续next,等了好久,虽然最后有一个叫connect c++的东东没有安装成功,但是总体来说还是OK了(安装上面的ok)。可当我想要打开MySQL的时候又出现了可恶的错误,我怎么这么惨呀!!!!于是我直接把MySQL5.6卸载了(搞这个已经搞了很久了,本来只是想用qt连接MySQL这么简单。此时此刻你应该理解我的心情!!!!)。没办法,只有走以前的老路,继续使用MySQL5.5(这回绝对的轻车熟路了)。

终于MySQL和qt全部搞定。测试一下:

9cd1db7754fac5f1557aa40f24090322.png    还是出错了!哈哈 不过没关系!因为之前我在”qt编译MySQL驱动“这一问题上搞了很久,大致能知道这是什么问题。于是把D:\MySQL\lib\libmysql.dll复制到D:\Qt\5.4\mingw491_32\bin。

测试:

6fe8c607a1f46c07828e700344db2641.png        哈哈!!!终于成功了。。。。 以上便是我用qt连接MySQL的全过程。

注意:其实按照那位博主的方法一步一步的操作是可以成功的,当时我不成功的原因是把代码放错了位置。

出错的代码和调试信息:

e7e02dccb6796bf6151667f44d6936b4.png

47a8fc0701aadeb7e8a5cce487b93e65.png

改正后的代码和调试信息:

68b8fd5bc1037589cc9505d0be373ce6.png   33bbef511b25582bbb879390b46290e5.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值