• 9067阅读
  • 16回复

[提问]windows下qt怎么使用sqlite3数据库的api接口 [复制链接]

上一主题 下一主题
离线tonghuangxx
 
只看楼主 倒序阅读 楼主  发表于: 2013-05-19
windows下qt怎么掉用sqlite3数据库的api接口,在qt中加上#include"sqlite3.h"还是不管用,怎样才能用
离线xsjqqq123

只看该作者 1楼 发表于: 2013-05-19
离线toby520

只看该作者 2楼 发表于: 2013-05-20
楼主用的是sql官网的还是Qt集成的sqlite?如果是第三方sqlite官网的话,需要编译源码或者直接下载编译好的动态库,如果是Qt集成的就可以直接使用
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tonghuangxx
只看该作者 3楼 发表于: 2013-05-20
回 2楼(toby520) 的帖子
是第三方的从sqlite官网下的,怎么使用第三方的sqlite
离线toby520

只看该作者 4楼 发表于: 2013-05-20
如果下载的是动态库,就知道加载dll就可以使用了啊
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tonghuangxx
只看该作者 5楼 发表于: 2013-05-20
回 4楼(toby520) 的帖子
还是不知道怎么使用,把这个sqlite3.dll放到哪里去,在qt项目中要加什么样的头文件,  .pro文件中需不需要加东西,请您说清楚点,谢谢了
离线toby520

只看该作者 6楼 发表于: 2013-05-20
先把.h文件和一些dll分别放到项目下面,也可以把他们放到新建的include和lib下面就可以,然后pro里面加入 类似这个
win32: LIBS += -Lproduct/libdatabase/lib/ -lsqlite3

INCLUDEPATH += product/libdatabase/include
DEPENDPATH  += product/libdatabase/include
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tonghuangxx
只看该作者 7楼 发表于: 2013-05-21
回 6楼(toby520) 的帖子
比如我先建了一个名字为12345的qt项目,在项目下面新建了include和lib,include中放了sqlite3.h文件,lib中放了sqlite3.lib文件,然后按照您的说法就是在pro中添加

LIBS += -L12345/libdatabase/lib/ -lsqlite3

INCLUDEPATH += 12345/libdatabase/include
DEPENDPATH  +=12345/libdatabase/include

调用时就在项目中的包含#include“include/sqlite3.h"
不过运行程序时它会报错,错误为    LNK1104:无法打开文件”sqlite3.lib“
离线toby520

只看该作者 8楼 发表于: 2013-05-21
你好好看下动态库的调用吧,他至少有2个调用,一个是在pro里面,已经是手动添加,好像还有一种是动态加载dll,试问你是vc编译器还是mingw,我这边mingw这样配置是没有问题
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线toby520

只看该作者 9楼 发表于: 2013-05-21
我把我写的sqlite3的列子传上来 你看下,哪里不对,可能是你下载的dll不对 Sqlite3DllTest.zip (796 K) 下载次数:22
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tonghuangxx
只看该作者 10楼 发表于: 2013-05-21
回 8楼(toby520) 的帖子
我用的是vc编译器,然后你发的我下载,还是出现无法打开sqlite3.lib的情况
离线toby520

只看该作者 11楼 发表于: 2013-05-22
你没有用qt creator?莫非你环境有问题?
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tonghuangxx
只看该作者 12楼 发表于: 2013-05-22
回 11楼(toby520) 的帖子
估计是我的qt有问题,我把你的程序拿去实验室的机器上是可以运行的,想重下一个qt,那我下网站上的哪个qt本版(windows上用的)比较好。
离线toby520

只看该作者 13楼 发表于: 2013-05-22
你下载的是哪个版本的Qt,这个应该与Qt版本无关,你最好把已安装的qt卸载掉,把一些手动设置的环境变量删掉,重新安装qt
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tonghuangxx
只看该作者 14楼 发表于: 2013-05-22
回 13楼(toby520) 的帖子
我卸载了qt然后重网上下了qt-creator-windows-opensource-2.6.0.exe,MinGW-gcc440_1.zip,qt-win-opensource-4.8.4-mingw.exe,安装好后,在环境变量PATH中添加了
D:\QT\4.8.4\bin;D:\QT\qtcreator-2.6.0\MinGW-gcc440_1\mingw\bin
运行其他的qt项目能运行的,但是你给我的程序就是不能运行,出现了一下问题
cannot find -lsqlite3
collect2: ld returned 1 exit status
在编译输出中看到以下情况
19:07:41: 配置没有改变, 跳过 qmake 步骤.
19:07:41: 正在启动 "D:\QT\qtcreator-2.6.0\MinGW-gcc440_1\mingw\bin\mingw32-make.exe"
{1"?} {2?}
D:/QT/qtcreator-2.6.0/MinGW-gcc440_1/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `D:/qtxiangmu/Sqlite3DllTest-build-桌面_Qt_4_8_4_MinGW_32bit-Debug'
g++ -mthreads -Wl,-subsystem,windows -o debug\Sqlite3DllTest.exe debug/main.o debug/mainwindow.o debug/moc_mainwindow.o  -L"d:\QT\4.8.4\lib" -lmingw32 -lqtmaind -Lsqlite3test/lib/ -lsqlite3 -lQtGuid4 -lQtCored4
mingw32-make[1]: Leaving directory `D:/qtxiangmu/Sqlite3DllTest-build-桌面_Qt_4_8_4_MinGW_32bit-Debug'
d:/qt/qtcreator-2.6.0/mingw-gcc440_1/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -lsqlite3
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\Sqlite3DllTest.exe] Error 1
mingw32-make: *** [debug] Error 2
19:07:42: 进程"D:\QT\qtcreator-2.6.0\MinGW-gcc440_1\mingw\bin\mingw32-make.exe"退出,退出代码 2 。
Error while building/deploying project Sqlite3DllTest (target: 桌面-Qt 4.8.4 MinGW 32bit)
When executing step 'Make'

离线toby520

只看该作者 15楼 发表于: 2013-05-22
你试过写个helloworld的demo跑能跑在qt4.8上面吗?我的那个demo先清理下 重新构建
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tonghuangxx
只看该作者 16楼 发表于: 2013-05-22
回 15楼(toby520) 的帖子
我查了下帮助文档下的qmake Variable Reference的LIBS,LIBS的格式变成了
unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib
然后我按照这种格式,改了下LIBS的格式,现在能运行了。
非常感谢你的帮助,感激不尽。
快速回复
限100 字节
 
上一个 下一个