Qt连接MySQL数据库

10 篇文章 0 订阅

这个过程中遇到了很多问题,今天终于连接上了,写个博客记录一下全过程。

       

       

Qt连接MySQL数据库步骤:

       

一、在官网上下载并安装MySQL。

        注意Qt和MySQL位数要一致,比如都是32位或者都是64位。

       
       

二、将你的MySQL的安装目录的lib文件夹下的libmysql.dll拷贝到你的Qt安装目录下的bin目录下。

        具体步骤可参考链接:Qt报错“QSqlDatabase: QMYSQL driver not loaded“的解决方案

       
       

三、新建一个项目:

在这里插入图片描述
       
       
       

四、在mainwindow的构造函数里写连接代码。

代码如下,注意包含头文件

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 添加MySql数据库
    QSqlDatabase test_database=QSqlDatabase::addDatabase("QMYSQL");
    // 连接数据库
    test_database.setHostName("localhost");              // 数据库服务器IP,数据库支持远程连接,这里localhost是本地数据库 
    test_database.setUserName("root");                   // 设置数据库用户名
    test_database.setPassword("你自己设置的密码");        // 设置密码
    test_database.setDatabaseName("你自己设置的数据库名"); // 设置数据库名,使用哪个数据库,数据库要本来就存在
    test_database.open();

    if(test_database.open())
    {
        qDebug()<<"open database success";
    }
    else
    {
        qDebug()<<test_database.lastError().text();
        QMessageBox::warning(this,"错误","error open database because : "+test_database.lastError().text());
    }
}

       
       

五、在.pro文件里添加如下代码:

QT += sql
QT += core gui sql

       
       

一般来说就可以使用数据库了

        如何在Qt中用代码新建一个数据库呢?见Qt+MySQL:在Qt中用代码新建数据库

       

       

       

       

如果运行报错,解决方案:

①报错: QSqlDatabase: QMYSQL driver not loaded

在这里插入图片描述

确保你的Qt位数和MySQL位数一致。

        我的Qt位数和MySQL位数不匹配 ,我安装的32位Qt64位MySQL,然后:

       

       
       

②报错:“Access denied for user ‘100574’@‘localhost’ (using password: YES) QMYSQL: Unable to connect”

       
这个错误原因是:

  • 我刚开始用户名写的不是“root”,写的别的。
  • 数据库名也写了一个MySQL里本来不存在(我没去创建过)的数据库,要连接的数据库不是说软件运行得时候才去创建的,是原本你就建好的。

        把这些都改正了,就连接成功了。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值