• 269阅读
  • 6回复

[提问]qt mac 发布app无法读取sqlite数据库. [复制链接]

上一主题 下一主题
离线m2019111
 

只看楼主 倒序阅读 楼主  发表于: 08-13
数据设置:
在.h文件中.
QSqlDatabase db;

在cpp文件中.
this->db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName ("./realtest.db");

win下面,debug,发布以后都正常.

但是,迁移到Mac以后,在debug的时候正常.但是发布为app以后,无法读取数据.
如果采用除其他的绝对路径,如:
db = QSqlDatabase::addDatabase (ReadingSqlConst::SQLITE);
db.setDatabaseName(QString("/Users/apple/Desktop/newztdb/Resources/realtest.db"));
也是正常的,但是如果采用下面的方法获取的路径,就不正常

方法一:
db = QSqlDatabase::addDatabase (ReadingSqlConst::SQLITE);
db.setDatabaseName(QString(QApplication::applicationDirPath()) + "/Resources/realtest.db");


方法二:
QDir tempDir;
QString currentDir = tempDir.currentPath();
db = QSqlDatabase::addDatabase (ReadingSqlConst::SQLITE);
db.setDatabaseName(currentDir + "/Resources/realtest.db");
方式1,方式2也不正常,

我就想sqlite的db文件放在app中,请问怎么解决.
离线alongsxmx

只看该作者 1楼 发表于: 08-14
mac 是数据保护的,数据只能保存在他提供的位置。或者在当前APP目录下面,新增的目录
离线m2019111

只看该作者 2楼 发表于: 08-14
回 alongsxmx 的帖子
alongsxmx:mac 是数据保护的,数据只能保存在他提供的位置。或者在当前APP目录下面,新增的目录 (2019-08-14 08:49) 

我是在当前Mac app的目录里面添加目录,这样也不行,是吗?
离线liulin188

只看该作者 3楼 发表于: 08-14
苹果的高级货没玩过
https://wiki.qt.io/Qt_5.12_Release
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
离线m2019111

只看该作者 4楼 发表于: 08-14
继续顶哈
离线toby520

只看该作者 5楼 发表于: 08-19
没什么毛病 看代码
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线labhome

只看该作者 6楼 发表于: 08-21
(QApplication::applicationDirPath()) + "../Resources/realtest.db"
应该这样吧
快速回复
限100 字节
 
上一个 下一个