Qt打开数据库失败

本文讲述了Qt开发中遇到的连接数据库问题,原因包括未选择Source选项和32/64位兼容性问题。通过检查ODBC设置、安装对应驱动和创建数据源,作者解释了ODBC作为连接媒介的重要性,并强调了Mysql客户端和服务端的概念。
摘要由CSDN通过智能技术生成

原因:

通过查看其他博客得知,第一种原因:安装qt时没有勾选Source选项

解决方法:

可以通过everything查找MaintenanceTool.exe 点开即可添加控件

原因2: 

 bool ok = db.open();
    if (ok){
        QMessageBox::information(this, "infor", "success");
    }
    else {
        qDebug() << "Failed to connect to the database:" << db.lastError().text();
    }
}

加上这段代码,可打印连接失败的原因,便于寻找解决方法,我遇到的问题打印如下:

即ODBC上创建的是32位的数据库,而我的qt程序是64位的,或者反之。

解决:首先确定是否安装ODBC,安装后,点击电脑左下角开始按钮搜索odbc

点开对应的位数的ODBC(我这里是64位,如果自己的程序是32位的就下载32位的ODBC,

点击系统DSN

点击添加->点击如图选项(注意要先安装64位的mysql驱动才有这个选项,具体安装方法可以百度)

点击完成-》先别点ok!!!

这时还需要在小皮面板里面创建数据库,信息和他一样

创建完成后点击ODBC的test,弹出信息看是否连接成功,显示连接成功,那么就大功告成!

在实际代码中,数据库的名字位ODBC中设置的数据源名字,例如此例中在代码中写的数据库名字就是QQ。

总结:搞清楚ODBC与Mysql客户端的关系:

ODBC是一个媒介用来连接我们的数据库和程序,在ODBC中建立的数据库并不是已经建好的可以用的数据库实体,需要在Mysql中建一个与它相应的数据库来建立连接。ODBC不仅可以连接MYSQL这一种数据库,它还可以下载很多种数据库驱动,下载之后就可以连接相应的数据库。

ODBC相当于一个Mysql的客户端,Mysql是服务端。

以上言论仅仅是自学过程中的个人理解,如果认为理解有误望指出。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值