毕业设计之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文件都没有,如图:

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

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

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

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

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

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

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

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

测试:

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

时间: 2024-08-10 15:10:21

毕业设计之qt连接MySQL的相关文章

QT连接MySQL

Qt 连接MySQL 是件很简单的事,但也有可能很不简单. QT给我们的提示只有 QMYSQL driver not loaded,让我们毫无头绪.访问其他数据库也可以用同样的方法解决. Qt 访问 MySQL 需要 2 个动态链接库文件,一个是 Qt 自己的 MySQL 驱动插件,另一个是 MySQL 提供的动态链接库,缺一不可.在程序里指定要访问的数据库为 MySQL,Qt 会自动的加载 MySQL 驱动插件,其实现依赖于MySQL 的动态链接库访问 MySQL. #include <ios

qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

之前使用Qt连接mysql数据库,遇到过这样的报错,后来解决了,但没有记录下来,这次又遇到了,花了好多的精力,这次吸取上次的教训,做一下记录和总结. 报错截图: 编辑背景: Qt5.13.0,编译器是mingw73_64,是64位的. mysql-5.7.27-winx64,也是64位的. 有人说,qt的编译器的位数要和数据库的位数是一致的,我没试过不同位数行不行,反正我的都是64位的. 问题: 使用<QSqlDatabase>库进行mysql的连接操作,出现下面的报错信息,当然别忘了在.pr

Ubuntu12.04下Qt连接MySQL数据库

本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件,可参考我的博客安装. 安装Qt:Ubuntu12.04下安装Qt4总结 --> http://www.cnblogs.com/gaohongchen01/p/4204860.html 安装MySQL:Ubuntu12.04下安装Apache+PHP+MySQL --> http://www.cnb

QT连接MYSQL数据库教程

最近购买了阿里云Linux服务器,处于自学需要安装了MYSQL5.7. 准备用QT开发个小工具,在使用QT提供的标准类连接MYSQL库的时候一直爆出无法加载MYSQL驱动的问题. 软件环境是windows10 +Qt4.8.7+mingw+qtcreator,在Qt4这个版本中不包含MYSQL数据的驱动,需要手动编译.网上的其他教程一般是针对MYSQL5.5这个版本,编译的时候需要用到/lib/opt路径下的lib文件(习惯Linux系统路径格式了,windows格式请脑补),经过多次尝试已然无

qt 连接mysql

默认情况下,qt 并没有自带mysql的数据库插件,需要自己编译 先安装mysql server ,运行setup.exe时选择自定义安装,安装目录设为"D:\mysqldev"不要留有空格,否则接下来qmake生成makeifle会出错 打开cmd ,运行以下代码 cd %QTDIR%\src\plugins\sqldrivers\mysql qmake "INCLUDEPATH+=D:\mysqldev\include" "LIBS+=D:\mysql

Windows下Qt连接MySql数据库

1.设置环境变量,需添加如下的环境变量: 2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车,然后输入第二条命令: qmake "INCLUDEPATH+=C:\MySQL\include","LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro 最后输入:mingw32-make 进行编译. 或者如下图所示,在.pro文件中添加

Qt5.5连接MySQL

(一)环境 windows下Qt5.5,安装的是MySQL Server 5.5版本. (二)qt连接mysql的原理 qt连接mysql需要两个dll,一个是qt连接mysql的驱动(注意:qt5.5自带这个驱动dll,位于Qt5.5.0\5.5\msvc2013\plugins\sqldrivers下qsqlmysql.dll和qsqlmysqld.dll,如果是qt4则需要下载qt该驱动的源代码自己编译),另一个是mysql自带的libmysql.dll(位于MySQL\MySQL Ser

QT学习之路-QT服务器-mysql数据库相关问题集锦(1)

时间:2017-04-07 异常信息: Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly E:\VictorPrivate\CommPlat\Bin\A2CMangerServer.exe exited with code -1073741819 场景: qt连接mysql的过程中,操作数据库经常出现mysql server ha

Qt编译mysql驱动

Qt连接MySQL 分类: Qt 数据库 2013-02-27 20:57 1452人阅读 评论(0) 收藏 举报 一般情况下,qt只带了qsqlite4和qodbc两种驱动,如果在安装qt时,你没有添加qt -mysq参数,那么意味着,在你的程序中不能直接使用mysql数据库. 那么你就需要安装这个插件. 感谢jpzjpz提供的详细安装过程! 网址为:http://dev.wo.com.cn/bbs/viewthread.jsp?tid=140945&extra=page%3D1 我这里还是在