• 6430阅读
  • 7回复

[讨论]Qt5.3连接数据库那点事儿 [复制链接]

上一主题 下一主题
离线pamxy
 

只看楼主 倒序阅读 楼主  发表于: 2014-08-16
目标:想用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驱动的方法—— ——

在此先感谢回答的兄弟
你不是最优秀的,但你可以成为最优秀的, you are the best!
离线jacobcao

只看该作者 1楼 发表于: 2014-08-22
需要自己编译android的驱动
离线彩阳

只看该作者 2楼 发表于: 2014-08-23
那么应该可以通过TCP/IP请求连接数据库然后进行操作吧。
上海Qt开发联盟,热忱地欢迎你的加入!
离线pamxy

只看该作者 3楼 发表于: 2014-09-01
回 jacobcao 的帖子
jacobcao:需要自己编译android的驱动 (2014-08-22 21:35) 

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

只看该作者 4楼 发表于: 2014-09-01
回 彩阳 的帖子
彩阳:那么应该可以通过TCP/IP请求连接数据库然后进行操作吧。
 (2014-08-23 20:10) 

非常感谢,问题已解决——  ——
你不是最优秀的,但你可以成为最优秀的, you are the best!
离线jgcddd

只看该作者 5楼 发表于: 2016-03-16
楼主是怎么解决的?复制都没能加载上mysql的驱动,但又显示是有效的驱动
离线XChinux

只看该作者 6楼 发表于: 2016-03-16
那问题是你的libmysql.dll,这个与Qt的64或32位版本保持一致要。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zzj233

只看该作者 7楼 发表于: 2017-02-28
你的第一个问题还是没有解决呀?1.怎样生成能被qt5.3 for Android使用的odbc驱动,即libsqlodbc.so,从而能让安卓应用联网访问服务器的数据库?
快速回复
限100 字节
 
上一个 下一个