QT连接MYSQL小结

来源:互联网 发布:游戏账号租赁平台知乎 编辑:程序博客网 时间:2024/04/29 13:57

费了好大功夫,终于把QT连上MYSQL了,一定要总结一下,以免以后再用到就忘记了。

1,首先第一步是编译mysql的连接库,这里花费了不少时间,先后下载了各种版本的qt都不能成功编译,最后发现只有4.7.3版的qt自带的mysql.pro是可以一次编译通过的,具体原因我也不清楚。具体编译方法就按照网上常见的帖子来就可以,先在mysql的lib里用libmysql.lib编译出libmysql.a和libmysql.def(这里要下载一个编译工具reimp.exe),然后在qt/src/plugin/mysql下面编译mysql.pro,编译完成后得到qsqlmysqld4.dll,libqsqlmysqld4.a,qsqlmysql4.dll和libqsqlmysql4.a四个文件,将这四个文件放到qt/plugin/sqldrivers下面(注意这里不是src里的plugin是qt目录下的plugin)。

2,然后就可以写程序测试了,我是按这个文章给的代码进行测试的http://hi.baidu.com/txh98/blog/item/ba721bfacf9953859e5146b1.html,因为我是用mingw32-make来编译的,在qmake -project之后需要再.pro文件里手动加上QT+=sql这句话,另外又看到帖子上说也要加上“QTPLUGIN+=qsqlmysql”的,我加了之后再make就会提示找不到-lqsqlmysql,所以后来把这行删掉了,也不影响程序编译和运行。

3,最后我遇到一个问题是数据库已经打开,但是执行查询语句的时候会报错,说driver not found, 后来发现是因为新建query的时候没有声明是针对哪个数据库的query,需要像这样新建QSqlQueryquery(数据库名字);就不会出错了。

原创粉丝点击