QT学习:连接MySQL数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40011728/article/details/78012081

一、环境

  • QT版本:QT 5.8.0(msvc2013_64)
  • MySQ版本:mysql 5.7.19

二、配置

之前 mysql 数据库一直都连接不上,网上也搜了很多资料,主要还是库文件的问题。
重新将 mysql.pro 编译一下,将生成的 .dll 和 .lib 文件拷贝到 QT 安装目录下相应的文件夹中就可以了。
具体操作可以直接上网搜索。

三、连接

打开数据库,在创建 test1 表,并加入数据。

test1
新建一个 QT 项目,在 .pro 文件中加入 QT += sql 。
测试与 mysql 连接代码如下:

#include <QApplication>
#include <QMessageBox>
#include <QSqlError>
#include <QTextCodec>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
bool creatConnect();

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

    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);

    if(!creatConnect())
    {
        return 1;
    }

    qDebug() << "Available drivers:";

    QStringList drivers = QSqlDatabase::drivers();

    foreach(QString driver, drivers)
        qDebug() << "\t "<< driver;

    qDebug() << "End";

    QSqlQuery query;
    QString sql = "select * from test1;";
    qDebug() << sql;
    query.exec(sql);
    while(query.next())
    {
        qDebug()<<query.value(0).toString()<<query.value(1).toString();
    }
    return a.exec();
}

bool creatConnect()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("testmysql01");
    db.setUserName("root");
    db.setPassword("1234");

    bool ok = db.open();//建立数据库连接
    if(!ok)
    {
        QMessageBox::critical(0,QObject::tr("连接数据库失败!!!"),db.lastError().text());
        return false;
    }
    else
    {
        QMessageBox::information(0,QObject::tr("Tips"),QObject::tr("连接数据库成功!!!"));
        return true;
    }
}

数据库连接成功。

数据库连接成功
读取数据库成功。

读取数据库成功

猜你喜欢

转载自blog.csdn.net/weixin_40011728/article/details/78012081