QT学习:连接MySQL数据库

一、环境
  • 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;
    }
}

数据库连接成功。

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

读取数据库成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值