QT 5.9.9 配置使用 MYSQL5.7 数据库

目录

Mysql下载安装

QT 下载安装

编译MYSQL

mingw构建方式

msvc构建方式

QT中MYSQL测试使用


因为版权问题,Qt本身不自带Mysql数据库的驱动,因此如果想要借用Qt操作Mysql数据库,需要手动进行编译。

Mysql下载安装

【Qt】 Mysql服务端安装教程

【Qt】 Mysql 库安装

1,可以选择安装服务端或者安装库文件

2,QT 构件32位版本对应安装 MYSQL 32位. 本文中QT 5.9.9 编译使用  MYSQL 安装5.7(x86)版本 或者 MySQL Connector/C (Archived Versions) 6.1.11(windows x86)

3,服务端x86版本可以从C:\Program Files (x86)\MySQL\MySQL Installer for Windows找到

MySQLInstaller.exe文件(上图)选择ADD按钮进行安装(默认好像是x64版本安装,安装完记得进入看一下版本),也可以从应用卸载打开此界面

QT 下载安装

【Qt】下载与安装_华开发的博客-CSDN博客_qt下载安装

安装组件时勾选 SOURCE 项

编译MYSQL

本机QT 安装目录:D:\QT\QT_5.9

MYSQL客户端 目录 :F:\oracle_client

QTCreator 打开QT源码 mysql.pro 目录:D:\QT\QT_5.9\5.9.9\Src\qtbase\src\plugins\sqldrivers\mysql

QT构建分为mingw 和 msvc 构建时mysql.pro修改不同,根据个人配置选择

QT编译MYSQL

mingw构建方式

参考msvc构建方式 替换成mingw构件

msvc构建方式

修改mysql.pro

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

#这个主要是添加.h依赖文件使用
INCLUDEPATH += "C:/Program Files (x86)/MySQL/MySQL Server 5.7/include"
#添加依赖的.lib文件
LIBS += "C:/Program Files (x86)/MySQL/MySQL Server 5.7/lib/libmysql.lib"
#生成DLL文件的存放目录  测试无效果
#DESTDIR = ../mysql/mysqlDll

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

点击重新构建项目

成功后在本机D:\plugins\sqldrivers下会获得

qsqlmysql.dll ,qsqlmysqld.dll 

根据构建套件不同将文件放置不同位置

qsqlmysql.dll ,qsqlmysqld.dll放入

D:\QT\QT_5.9\5.9.9\msvc2015\plugins\sqldrivers

将C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib 内的libmysql.dll,libmysql.lib文件放入

D:\QT\5.9.9\5.9.9\msvc2015\bin

QT中MYSQL测试使用

pro文件中添加

QT +=  sql

使用头文件中添加

#include <QSqlQuery>
#include <QSqlError>
#include <QSqlDatabase>

显示可用驱动

    //查看所有数据库驱动
    QStringList lists = QSqlDatabase::drivers();

    for(int i = 0 ;i < lists.size(); ++ i)
    {
        qDebug() << lists.at(i);
    }

测试


#include <QCoreApplication>

#include <QStringList>
#include <QSqlQuery>
#include <QSqlError>
#include <QSqlDatabase>
#include <QDateTime>

#include <QDebug>


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1"); //连接本地主机
    db.setPort(3307);
    //db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("1234");
    bool ok = db.open();
    if (ok){
        qDebug() <<"true_mysql:\n" ;
    }
    else {
        qDebug() <<"error_mysql:\n" << db.lastError().text();
    }


    return a.exec();
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值