今天想试试Qt如何连接数据库的。
谁知怎么写完了提示driver not loaded我就郁闷了。
我自己是 VS2010 + Qt4.8.4 + MySQL5.1 的环境
网上查到是 C:\Qt\4.8.4\plugins\sqldrivers 里没有MySQL的dll以及lib文件。所以要自己编译下。
1.通过Qt 4.8.4 Command Prompt命令行进入($QtDir$)\src\plugins\sqldrivers\mysql
2.由于MySQL的绝对路径有空格,makefile无法准确找到,因此在任意盘符根目录下新建文件夹MySQL(例如C:\MySQL),并将($MySQLDir$)\inlcude与($MySQLDir$)\lib文件夹拷贝至该文件夹下
2.输入命令
qmake -o makefile "INCLUDEPATH+=c:\MySQL\include" "LIBS+=c:\MySQL\lib\opt\libmysql.lib" mysql.pro
nmake
3.查看($QtDir$)\plugins\sqldrivers文件夹下是否生成sqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- db.setHostName("localhost");
- db.setDatabaseName("mydb");
- db.setUserName("root");
- db.setPassword("");
- if (!db.open())
- QMessageBox::information(this,tr(""),db.lastError().text());
https://blog.csdn.net/kfbyj/article/details/8820652