• 86阅读
  • 4回复

[提问]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
苹果的高级货没玩过
离线m2019111

只看该作者 4楼 发表于: 08-14
继续顶哈
快速回复
限100 字节
 
上一个 下一个