// 使用vs+qt的模式写程序时,实质上还是用vs加载动态库的方式添加第三方库
// QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //mysql驱动
// QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); //odbc驱动, 两种驱动方式不要混淆
// qDebug() << QSqlDatabase::drivers(); // 输出系统支持的驱动
// 一、编译阶段【注意debug模式和release模式】
// Qt Project Setting 中指定 sql 选项
// 1、VC++目录: 指定Include目录 C:\Program Files\MySQL\MySQL Server 5.7\include;
// 2、VC++目录: 指定lib目录 C:\Program Files\MySQL\MySQL Server 5.7\lib;
// 3、连接->输入: 指定第三方库 libmysql.lib
// 二、把D:\Qt_5.12.3\5.12.3\msvc2015_64\plugins\sqldrivers 目录复制到 项目编译目录的debug和release中
// 三、调试阶段 注意把dll文件复制到可执行程序目录中!!!
// 使用mysql驱动连接mysql数据库
void connectMysql()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //mysql驱动
qDebug() << QSqlDatabase::drivers();
db.setHostName("127.0.0.1"); //连接本地主机
db.setPort(3306);
db.setDatabaseName("dmairport");
db.setUserName("root");
db.setPassword("123456");
bool ok = db.open();
if (ok){
qDebug()<< "in connectMysql(): connect mysql successful!";
}
else {
qDebug()<<"error open database because"<<db.lastError().text();
//QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
//提示没有 mysql驱动, 所以, 连接不上数据库
}
}
// QT连接Mysql
1、.pro项目文件中添加 Qt += sql
2、检查C:\Qt\Qt5.12\5.12\mingw49_32\plugins\sqldrivers下有没有qsqlmysql.dll和qsqlmysqld.dll
3、把mysql安装路径下的libmysql.lib和libmysql.dll文件复制到工程的bin目录下
4、检查自己的用户名密码之类的大小写!!!
提示:QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7!
没有 mysql驱动, 所以, 连接不上数据库!----》对应上面第2步
提示: QMYSQL driver not loaded
把mysql下的libmysql.lib和libmysql.dll复制到Qt的bin目录下 ----》 对应上面第3步