QT连接MySQL记录

it2022-06-10  86

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.     else25.         label->setText("connection failed...");26.     label->show();27.     28.     return a.exec();29. }

6.结果

    到最后了又在MySQL的服务配置上耽误时间了。以下是一直要搞出来的结果,明天把这一套搞到工作电脑上,下一步工作是连接Oracle和进行查询...

                                    

 

 

 

通过 为知笔记 发布

转载于:https://www.cnblogs.com/aniuer/archive/2012/10/16/2726990.html


最新回复(0)