qt4:mysql驱动程序 driver not loaded 问题的解决方案
编写qt应用程序,使用mysql访问数据.结果在连接数据库的时候提示如下图:(而且已经把mysql的驱动程序编译了)
原因:qt中没有加入对mysql的驱动的支持结果如下图.
上图程序可以通过访问我的资源来下载.google搜索了好几天都没有结果.最终决定使用最笨的办法自己一个个的排查,终于知道我为什么不能加载mysql的驱动程序了.
出现 drive not loaded 的原因有如下几个
1.安装qt的时候还没有安装mysql.也就是说应该在安装qt之前安装mysql数据库.这个错误由QSqlDatabase抛出db.lastError().text()
2.将以前编译的mysql驱动程序拷入qt文件夹位置放错
3.你的程序写错了
4."driver not loaded" 是由query.lastError().text()抛出的错误.
既然知道原因了,解决起来也就非常轻松了.
1.重新安装qt,重新安装mysql驱动
2和3的解决方法我就没有什么好说的了.
4.说明你的query在创建的时候没有和qsqldatabase建立起关联.正确的方法是声明qsqldatabase后就声明query.如果你希望一个连接能够和多个query关联使用如下语法:QSqlQuery query(db),db是QSqlDatabase的实例名.
关于mysql驱动的编译请看我以前的博客文章
安装完驱动程序后再次测试,可以看到qt已经加入了对mysql的支持了.