QT学习:连接MySQL数据库

来源:互联网 发布:国外网络赚钱项目 编辑:程序博客网 时间:2024/05/21 07:49

一、环境

  • 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;    }}

数据库连接成功。

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

读取数据库成功