QT5.X连接MYSQL数据库

6 篇文章 0 订阅

转自:http://blog.csdn.net/li491093957/article/details/52783637


让我们开始吧

正文开始,首先纠正一个错误,据说QT从5.2就已经自带MySQL驱动了,不需要你向QT4一样去编译,我的理解是他带了一半的驱动,另外一半QT需要链接到你的mysql里面。如果你遇到如图所示的错误

但是又是QT5.2或者5.2以上可以参考博主的解决思路,一般都可以解决,博主用的是WIN7系统加MYSQL5.6

一般系统和MYSQL没有太大的关联性,所以放手跟我一起GO  GO   GO

另外->

通过qDebug() << qDatabases.lastError().text();可以打印出你的数据库连接的错误

通过qDebug() << QSqlDatabase::drivers();可以打印出你的数据库拥有的库文件



------------------------------------------------------------------------------------华丽的分割线---------------------------------------------------------------------------------




首先你需要检查你的QT和MYSQL你的QT是32位的,那么很遗憾如果你的MYSQL是64位的,你需要装32位的MYSQL不然你是链接不上的,很多人都死在这一步,不信你试试?

第二你需要打开你的,MYSQL的 lib目录,把下面的.lib和.dll结尾的文件全部复制到QT的bin目录下下面以博主的QT5.3 VS2013作为图片演示:

复制到QT的bin目录下

基本上就可以连接到MYSQL了我们来测试一波

[cpp]  view plain  copy
  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
  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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值