查看完整版本: [-- Qt5.3连接数据库那点事儿 --]

QTCN开发网 -> Qt移动平台开发 -> Qt5.3连接数据库那点事儿 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

pamxy 2014-08-16 16:57

Qt5.3连接数据库那点事儿

目标:想用QT制作一个能通过网络连接服务器数据库的应用程序。
过程:
1.win8、vs2012、qt5.3、ms sql sm能正确连接上,且能读取数据;
2.由于想试一下联网连接,碍于只有一台电脑和一台手机,那只好编译一个手机应用,结果文件夹里没有现成的安卓版的odbc驱动,即qsqlodbc.so,就想到了用qt for win的app直接连接网上的免费服务器上的数据库,但免费的也只有mysql,转而研究,win app连接mysql,虽然qt5.3上已不用自己编译mysql驱动了,但无论什么方法(复制lib,dll等)都没能加载上mysql的驱动,但又显示是有效的驱动,自己编译吧,qmake -o Makefile mysql.pro成功,用vs2012的nmake出现问题,首先是找不到<mysql.h>,结果我将mysql的include文件都拷贝到vs的目录里,就可以使用< >号访问mysql的头问题,懒的改,之后又出现类似头文件的声明的函数没有找到定义函数的类似错误,将内容代码注释了,然后找到原来一使用有关mysql.h文件里的函数就出问题,如mysql_init(),结果到两天了这个mysql驱动还没编译出来,在网上下载别人的吧,也仍然是不能加载。。。

问题:
有两个问题:
1.怎样生成能被qt5.3 for Android使用的odbc驱动,即libsqlodbc.so,从而能让安卓应用联网访问服务器的数据库?
2.求qt5.3真正能加载mysql驱动的方法—— ——

在此先感谢回答的兄弟

jacobcao 2014-08-22 21:35
需要自己编译android的驱动

彩阳 2014-08-23 20:10
那么应该可以通过TCP/IP请求连接数据库然后进行操作吧。

pamxy 2014-09-01 21:43
jacobcao:需要自己编译android的驱动 (2014-08-22 21:35) 

听说5.2以后就不用自己编译了,5.3是已经有的,最终问题解决了,找了几天,原来是系统位数问题,我是64位win8,用的32位QT—— ——,所以连接上libmysql.lib永运不能连接——  ——,纠结,最后打算开个虚拟机弄—— ——,非常感谢!

pamxy 2014-09-01 21:43
彩阳:那么应该可以通过TCP/IP请求连接数据库然后进行操作吧。
 (2014-08-23 20:10) 

非常感谢,问题已解决——  ——

jgcddd 2016-03-16 10:45
楼主是怎么解决的?复制都没能加载上mysql的驱动,但又显示是有效的驱动

XChinux 2016-03-16 21:01
那问题是你的libmysql.dll,这个与Qt的64或32位版本保持一致要。

zzj233 2017-02-28 22:12
你的第一个问题还是没有解决呀?1.怎样生成能被qt5.3 for Android使用的odbc驱动,即libsqlodbc.so,从而能让安卓应用联网访问服务器的数据库?


查看完整版本: [-- Qt5.3连接数据库那点事儿 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled