QT5.3.2连接mysql

目前网上都是配置QT4版本连接mysql的资料多。QT5的很少,此文针对QT5的!

本人能力有限,望大神指正;觉得好的,留个言!(从来没有人留个言!偷笑

@1 安装QT5.3.2

@2 安装mysql

安装的mysql默认是在C:\Program Files 下的,路径名中包含空格(比如我的系统路径是:C:\Program Files\MySQL\MySQL Server 5.5\lib\),在Qt MinGW下是无法解析的(因为Program Files,MySQL Server 5.5,中间存在空格)在命令行下回显示成C:\PROGRA~2\MySQL\MYSQLS~1.5,这样会导致操作失败。所以最简单的办法就是:在C盘根目录下新建一个叫mysql的目录,把C:\Program Files\mysql\mysql services 5.5下的lib和include目录全部复制到在C盘根目录下的mysql中。这样就避免了长的字符串和空格在命令行下显示为乱码的问题;

重点来了:

在MinGW命令模式下输入:

1)cd D:\Qt\Qt5.3.2\5.3\Src\qtbase\src\plugins\sqldrivers\mysql


2)  qmake "INCLUDEPATH+=c:\\mysql\\include" "LIBS+=c:\\mysql\\lib\\libmysql.lib" -o Makefile mysql.pro 


3)mingw32-make


4)qmake "INCLUDEPATH+=c:\\mysql\\include" "LIBS+=c:\\mysql\\lib\\libmysql.lib" -o Makefile mysql.pro "CONFIG+=release"


5)mingw32-make 

6)把D:\Qt\Qt5.3.2\5.3\Src\qtbase\plugins\sqldrivers中的四个文件:libqsqlmysql.a;libqsqlmysqld.a;qsqlmysql.dll;qsqlmysqld.dll;复制到:D:\Qt\Qt5.3.2\5.3\mingw482_32\plugins\sqldrivers;有替换的就替换;

7)从mysql\lib下找到libmysql.dll并复制到c:\windows下

8)在新建project时,记得在项目包含的.pro文件中添加:QT += sql

测试代码:

#include "mainwindow.h"
#include <QApplication>
#include <QDebug>
#include <QStringList>
#include <QtSql/QSqlDatabase>
#include <QtSql>
#include <QMessageBox>
#include <QTextCodec>
#include <QLabel>
 
bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
//    db.setHostName("localhost");
    db.setDatabaseName("sqltwo");///这个地方是要对!!
    db.setUserName("root");
    db.setPassword("********");///密码是自己的密码
    if (!db.open())
        return false;
    db.close();
    return true;
}
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel* label = new QLabel;
    label->setWindowTitle("QT Database");
    if (createConnection())
        label->setText("connection success...");
    else
        label->setText("connection failed...");
    label->show();
 
    return a.exec();
}
 大力感谢:http://blog.csdn.net/free_program_1314/article/details/7773800该博客主人!! 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值