Qt5.7中使用MySQL Driver

Qt5.7中使用MySQL Driver

1、使用环境

Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可。
如果没有安装,可以采取自己编译的方式。
在Qt的源码包的qtbasesrcsqldriversmysql路径下,就是相关的源码文件。
这里就不说编译方式了。只是要记得在编译的时候,需要libmysql的支持。

2、基本使用

    QSqlError err;
    // 数据库对象创建
    QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL","连接名");
    // 设置相关参数
    db.setDatabaseName("数据库名");    // 需要与数据库中的一致
    db.setHostName("127.0.0.1");    // 主机名(地址)
    db.setPort(3366);        // 端口

    // 打开数据库
    if (!db.open("用户名", "密码")) {
        err = db.lastError();
        db = QSqlDatabase();
        QSqlDatabase::removeDatabase("连接名");
    }
    // Query对象创建
    QSqlQuery q("", db);
    // 创建一个表
    q.exec("create table Names (id integer primary key, Firstname varchar, Lastname varchar, City varchar)");
    // 插入三条数据
    q.exec("insert into Names values (1, 'Christopher', 'Walker', 'Morristown')");
    q.exec("insert into Names values (2, 'Donald', 'Duck', 'Andeby')");
    q.exec("insert into Names values (3, 'Buck', 'Rogers', 'Paris')");

3、一个小问题

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

这里需要把libmysql.dll文件拷贝到Qtbin目录中。或者自己编译的时候,链接静态库。

原文地址:https://www.cnblogs.com/oloroso/p/5766068.html