QT连接MySQL花费了不少时间,现在理一下头绪:
重点参考了http://www.linuxso.com/architecture/37897.html
这个帖子参考了http://www.seppemagiels.com/blog/create-mysql-driver-qt-
1.安装Qtsource.
位置如图,这个source开始是没有的,着实让我纠结了很长时间,怎么QT这个包就不能打全一点呢?非要哥在线下。。。
2.建立目录。
将MySQL中MySQL Server 5.5目录下的include和lib文件夹放到C的根目录下,这样做方便操作,而且避免目录中出现空格。
3.编译驱动。
在目录C:\QtSDK\QtSources\4.8.0\src\plugins\sqldrivers\mysql\下输入
qmake "INCLUDEPATH+=c:\\qtmysql\\include" "LIBS+=c:\\mysql\\lib\\libmysql.lib" -o Makefile mysql.pro
然后mingw32-make
再qmake "INCLUDEPATH+=c:\\qtmysql\\include" "LIBS+=c:\\mysql\\lib\\libmysql.lib" -o Makefile mysql.pro "CONFIG+=release"
然后mingw32-make
4.移动文件。
在C:\QtSDK\QtSources\4.80\src\plugins\sqldrivers\mysql\debug下找到libqsqlmysqld4.a and qsqlmysqld4.dll并复制到这个路径下:
C:\QtSDK\Desktop\Qt\4.8.0\mingw\plugins\sqldrivers
在C:\QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\mysql\release下找到 qsqlmysql4.dll 和libqsqlmysql4.a 并复制到这个路径下:
C:\QtSDK\Desktop\Qt\4.7.3\mingw\plugins\sqldrivers
从mysql\lib下找到libmysql.dll并复制到c:\windows下
5.测试
在新建project时,在项目包含的.pro文件中添加:QT += sql //此处sql必须小
建立一个Qt UI应用,代码如下
1. #include <QtGui/QApplication>
2. #include<QtSql>
3. #include<QLabel>
4. #include<QSqlDatabase>
5. bool createConnection()
6. {
7. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
8. db.setHostName("localhost");
9. db.setDatabaseName("radar");
10. db.setUserName("root");
11. db.setPassword("********");
12. if (!db.open())
13. return false;
14. db.close();
15. return true;
16. }
17. int main(int argc, char *argv[])
18. {
19. QApplication a(argc, argv);
20. QLabel* label = new QLabel;
21. label->setWindowTitle("QT Database");
22. if (createConnection())
23. label->setText("connection success...");
24. else
25. label->setText("connection failed...");
26. label->show();
27.
28. return a.exec();
29. }
6.结果
到最后了又在MySQL的服务配置上耽误时间了。以下是一直要搞出来的结果,明天把这一套搞到工作电脑上,下一步工作是连接Oracle和进行查询...