编程环境搭建1(Qt5.4连接MySql5.6 驱动问题) 女爷i 2022-03-30 04:50 191阅读 0赞 转自:http://blog.csdn.net/li491093957/article/details/52783637 **让我们开始吧** 正文开始,首先纠正一个错误,据说QT从5.2就已经自带[MySQL][]驱动了,不需要你向QT4一样去编译,我的理解是他带了一半的驱动,另外一半QT需要链接到你的mysql里面。如果你遇到如图所示的错误 ,![SouthEast][] 但是又是QT5.2或者5.2以上可以参考博主的解决思路,一般都可以解决,博主用的是WIN7系统加MYSQL5.6 一般系统和MYSQL没有太大的关联性,所以放手跟我一起GO GO GO 另外-> 通过**qDebug() << qDatabases.lastError().text();**可以打印出你的[数据库][MySQL]连接的错误 通过**qDebug() << QSqlDatabase::drivers();**可以打印出你的数据库拥有的库文件 \------------------------------------------------------------------------------------华丽的分割线--------------------------------------------------------------------------------- 首先你需要检查你的QT和MYSQL**,你的QT是32位的,那么很遗憾如果你的MYSQL是64位的,你需要装32位的MYSQL,**不然你是链接不上的,很多人都死在这一步,不信你试试? 第二你需要打开你的,**MYSQL的 lib目录,把下面的.lib和.dll结尾的文件全部复制到QT的bin目录下,**下面以博主的QT5.3 VS2013作为图片演示: ![SouthEast 1][]**复制到QT的bin目录下**![SouthEast 2][] 基本上就可以连接到MYSQL了我们来测试一波 **\[cpp\]** [view plain][] [copy][view plain] 1. <span style="font-size:14px;color:\#33cc00;"><strong>QSqlDatabase qDatabases = QSqlDatabase::addDatabase("QMYSQL"); 2. //设置相关参数 3. qDatabases.setDatabaseName("qt\_chat\_server"); // 需要与数据库中的一致 4. qDatabases.setHostName("127.0.0.1"); // 主机名(地址) 5. qDatabases.setPort(3306); // 端口 6. qDatabases.setUserName("root"); //设置用户名 7. qDatabases.setPassword("1a2b3c4d5e"); //设置密码 8. // 打开数据库 9. if (qDatabases.open( )) \{ 10. qDebug() << "cg"; 11. \}</strong></span> **///然后打印出了cg** ## 什么你还是不能连接到数据库?excuse me? ## 不要慌要圆,那么你可以试试**QODBC**去MYSQL的官网下载 http://dev.mysql.com/downloads/connector/odbc/ 下载第一个Windows (x86, 32-bit), MSI Installer ,安装时选择第二个(**完全安装**),然后去你的**控制面板**里面查看方式,**小图标**,点击**管理工具**,**点击数据源**,用户和系统都可以**建立一个数据源**。 那么又是一波测试代码,,,, **\[cpp\]** [view plain][] [copy][view plain] 1. <span style="color:\#33cc00;"><strong>QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); 2. db.setHostName("127.0.0.1"); 3. db.setDatabaseName("qt\_chat\_server\_connnect"); 4. if (db.open()) 5. \{ 6. 7. qDebug(("cg")); 8. \} 9. else\{ 10. qDebug() << qDatabases.lastError().text(); 11. qDebug() << QSqlDatabase::drivers(); 12. 13. qDebug() << QCoreApplication::libraryPaths(); 14. qDebug( ("sb")); 15. \}</strong></span> **///打印cg** [MySQL]: http://lib.csdn.net/base/14 [SouthEast]: /images/20220330/e8d0df178b454ef8af2405dee2aa771a.png [SouthEast 1]: https://img-blog.csdn.net/20161011010308478?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast [SouthEast 2]: /images/20220330/40e11aabd51d49be9ad7e967c4b2d413.png [view plain]: http://blog.csdn.net/li491093957/article/details/52783637#
还没有评论,来说两句吧...