找回密码
 立即注册
收起左侧

QtSDK与mysql5.0的数据库驱动安装方法 亲证可行

3
回复
8710
查看
[复制链接]
累计签到:4 天
连续签到:1 天
来源: 原创 2014-3-14 15:44:15 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Qt连接mysql驱动的安装
1.  需要的软件
Qt:本机安装的是QtSdk-offline-win-x86-v1_2_1.exe,就是Qt的傻瓜安装包QtSDK,1.65G,你要用的所有东西都在这里面,按照默认的安装,安装好后直接打开qt creator就可以用。
Mysql:本机安装的是mysql-5.0.22-win32.zip,即mysql5.0版本
2.  操作步骤
1)cd D:\QtSDK\QtSources\4.8.1\src\plugins\sqldrivers\mysql
2)qmake -o Makefile "INCLUDEPATH+= D:\dai\include"
"LIBS+= D:\dai\lib\opt\ libmysql.lib" mysql.pro
3)mingw32-make
4)mingw32-make release
3. 具体阐述
1)首先打开“开始”目录下的QtSDK的Qt4.8.1 for Desktop (MinGW)命令窗口(注意:本机选择的Qt版本是Qt 4.8.1 MinGW);然后再窗口中把路径转到D盘,因为我的Qt安装路径在D盘,命令为:d:;然后输入操作步骤2.1。现在路径指向了Qt中的mysql源码信息上。
2) (1)把mysql安装路径下的include和lib两个文件夹,拷贝到D盘新建的文件夹dai中。即把C:\Program Files\MySQL\MySQL Server5.0(我的mysql路径)路径下的include和lib两个文件夹拷贝到路径D:\dai下。这么做的原因是操作步骤2.2中不允许路径存在空格,而mysql的安装路径时存在空格的。
(2)把D:\QtSDK\Desktop\Qt\4.8.1\mingw\bin、D:\dai\include和D:\dai\lib\opt添加到系统环境变量path中。
(3)继续1)中的步骤执行操作步骤2.2,输入2.2的命令即可。
3)继续输入操作步骤2.3和2.4的命令。
4)此时打开路径D:\QtSDK\QtSources\4.8.1\src\plugins\sqldrivers\mysql,发现会出现release和debug两个文件夹,分别把两个文件夹中的libqsqlmysqld4.a、qsqlmysqld4.dll、libqsqlmysql4.a和qsqlmysql4.dll四个文件拷贝到路径D:\QtSDK\Desktop\Qt\4.8.1\mingw\plugins\sqldrivers中。
5)把C:\Program Files\MySQL\MySQL Server 5.0\bin路径下的libmySQL.dll文件拷贝到D:\QtSDK\Desktop\Qt\4.8.1\mingw\bin路径下。
这样,连接mysql数据库的操作就完成了。现在我们来用小程序验证是否连接成功。
1.  新建Qt控制台程序,命名为sqldatabase。
2.  在main.cpp中添加文件头#include <Qtsql> #include <QSqlDatabase>,在sqldatabase.pro文件中添加语句QT       += sql。3.  在main.cpp中输入如下代码:
file:///C:/Users/aa/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
4.  对该代码进行调试,会发现程序会由第一个断点直接跳到第三个断点,而不会进入第二个断点。这说明数据库打开已成功。

参与人数 1人气 +3 收起 理由
xflcx1991 + 3 必须支持!

查看全部评分总评分 : 人气 +3

回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2014-3-14 15:46:04 显示全部楼层
不知道大家能不能看到测试代码图片,如下:
#include <QtCore/QCoreApplication>
#include <Qtsql>
#include <QSqlDatabase>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    //添加数据库驱动
    db.setHostName("localhost");
    db.setDatabaseName("example");
    db.setUserName("root");
    db.setPassword("123456");   //第一个断点
    if(!db.open())
    {
        return false;   //第二个断点
    }
    return a.exec();   //第三个断点
}
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2014-3-29 23:22:06 显示全部楼层
QT5已经自带连接mysql的驱动了
回复 支持 反对

使用道具 举报

累计签到:110 天
连续签到:1 天
2015-4-29 09:37:13 显示全部楼层
能把四个编译好的数据库驱动文件传给我么?617322455@qq.com,我编译起来一直有问题,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了