查看完整版本: [-- qt mac 发布app无法读取sqlite数据库. --]

QTCN开发网 -> Qt基础编程 -> qt mac 发布app无法读取sqlite数据库. [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

m2019111 2019-08-13 23:47

qt mac 发布app无法读取sqlite数据库.

数据库设置:
在.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 2019-08-14 08:49
mac 是数据保护的,数据只能保存在他提供的位置。或者在当前APP目录下面,新增的目录

m2019111 2019-08-14 10:40
alongsxmx:mac 是数据保护的,数据只能保存在他提供的位置。或者在当前APP目录下面,新增的目录 (2019-08-14 08:49) 

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

liulin188 2019-08-14 10:59
苹果的高级货没玩过

m2019111 2019-08-14 17:43
继续顶哈

toby520 2019-08-19 21:29
没什么毛病 看代码

labhome 2019-08-21 10:13
(QApplication::applicationDirPath()) + "../Resources/realtest.db"
应该这样吧


查看完整版本: [-- qt mac 发布app无法读取sqlite数据库. --] [-- top --]



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