700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一 编译连接前准备)

【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一 编译连接前准备)

时间:2022-07-12 22:10:06

相关推荐

【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一 编译连接前准备)

一、说明

电脑系统:win10

qt版本:5.13.2和5.14.1(测试均成功)

mysql版本:MySQL-5.5

本篇教程分为三个部分:

【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一、编译连接前准备)【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(三、问题整理)

本文参考链接(感谢各位大佬分享):

32位mysql安装包_数据分析入门:如何下载安装MySQL数据库?Windows 环境下使用 Qt 连接 MySQLQt连接MySql驱动加载失败问题解决方法Qt-解决Qt与MySQL连接过程中出现“QSqlDatabase: QMYSQL driver not loaded”问题「绝对独家」Qt5.14.1 如何编译和使用mysql和mariadb数据库驱动qt5.12.3及以上高版本(qt5.13.0,qt5.13.1)如何连接操作mysql/mariadb数据库Qt报错“QSqlDatabase: QMYSQL driver not loaded“的解决方案

我写过的两篇文章(建议连接前先看看):

Nvicat Premium连接腾讯云数据库python连接腾讯云数据库

二、软件安装

本文用的mysql5.5以及qt5.13.2、5.14.1两个版本qt均测试成功,需要注意的是qt和mysql两个版本需要对应,如果mysql是32位的则需要qt也是32位,mysql64位需要qt也是64位。我百度发现我的qt是32位所以我下载的是32位的mysql,后续操作我发现其实只需要qt的MinGW和mysql对应即可,qt中的MinGW有64位和32位的,所以只要查看你的mysql是多少位的即可。我用的是32位的。

1.安装qt

可以自行百度,安装时建议安装全部组件,并且安装在C盘以外的其他盘

2.安装mysql

安装32位的可以借助下述文章,64位的需要自行百度,安装也不需要安装在c盘。最后配置完要知道自己root用户的密码,最好再新建一个数据库然后建立一个测试表进行测试。参考文章:32位mysql安装包_数据分析入门:如何下载安装MySQL数据库?

3.安装Nvicat(推荐)

可以安装Nvicat方便安装mysql后测试安装是否成功。

三、连接代码

先上代码,大家可以测试一下是不是可以成功连接,若是成功,则不需要后续编译驱动的过程。

XXXX.pro文件

QT += core gui sqlgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11DEFINES += QT_DEPRECATED_WARNINGSSOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.uiqnx: target.path = /tmp/$${TARGET}/binelse: unix:!android: target.path = /opt/$${TARGET}/bin!isEmpty(target.path): INSTALLS += target

mainwindow.h文件

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow; }QT_END_NAMESPACEclass MainWindow : public QMainWindow{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;};#endif // MAINWINDOW_H

mainwindow.cpp文件

#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow){ui->setupUi(this);}MainWindow::~MainWindow(){delete ui;}

main.cpp文件(注意这个需要改成自己数据库的各种设置)

#include <QCoreApplication>#include <QtSql/QSqlDatabase>#include <QtSql/QSqlQuery>#include <QtSql/QSqlError>#include <QtDebug>void connect_mysql(){QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");db.setHostName("127.0.0.1");//连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)db.setPort(3306); //连接数据库端口号,与设置一致db.setDatabaseName("money");//连接数据库名,与设置一致db.setUserName("root");//数据库用户名,与设置一致db.setPassword("123456"); //数据库密码,与设置一致qDebug()<<"开始连接";db.open();if(!db.open()){qDebug()<<"不能连接"<<"connect to mysql error"<<db.lastError().text();return ;}else{qDebug()<<"连接成功"<<"connect to mysql OK";}QSqlQuery query(db);//这是自己的表的名字,下面操作是打印出test表name一列的所有数据query.exec("select * from test");while(query.next()){qDebug()<<query.value("name").toString();}}int main(int argc,char *argv[]){QCoreApplication a(argc,argv);connect_mysql();return a.exec();}

mainwindow.ui文件(无任何改动)

后续编译部分见第二篇文章:【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)

转载参考分享此篇文章请注明出处!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。