美文网首页
Qt5学习:连接MySQL数据库

Qt5学习:连接MySQL数据库

作者: 虞锦雯 | 来源:发表于2017-09-17 18:07 被阅读517次

    一、环境

    • QT版本:QT 5.8.0(msvc2013_64)
    • MySQL版本: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;
        }
    }
    

    数据库连接成功。

    数据库连接成功

    读取数据库成功。

    读取数据库成功

    相关文章

      网友评论

          本文标题:Qt5学习:连接MySQL数据库

          本文链接:https://www.haomeiwen.com/subject/kmlmsxtx.html