Qt5.7中使用MySQL Driver
Qt5.7中使用MySQL Driver
1、使用环境
Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可。
如果没有安装,可以采取自己编译的方式。
在Qt的源码包的qtbase\src\sql\drivers\mysql
路径下,就是相关的源码文件。
这里就不说编译方式了。只是要记得在编译的时候,需要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
文件拷贝到Qt
的bin
目录中。或者自己编译的时候,链接静态库。