gpt4 book ai didi

sqlite - 如何在潮汐dk/titanium 桌面上使用预填充的数据库

转载 作者:行者123 更新时间:2023-12-03 18:18:08 25 4
gpt4 key购买 nike

在开发带有预填充数据库的桌面应用程序时,我需要一些帮助。我已经尝试了很多方法来让这个工作,包括在两个 Tidesdk 的 API 中提到的方法 http://tidesdk.multipart.net/docs/user-dev/generated/#!/api/Ti.Database.DB在 Titanium Desktops 旧 API http://developer.appcelerator.com/apidoc/desktop/latest/Titanium.Database-module .

虽然后者(使用 Titanium 而不是 Ti)用于在应用程序目录中创建数据库,但它不会安装位于我的应用程序资源文件中的预填充 sqlite 数据库。

我的一些尝试位于下面

var db = Titanium.Database.openFile('test_db.sqlite', 'test_db');

var db = Titanium.Database.openFile(Ti.Filesystem.getFile(
Ti.Filesystem.getApplicationDataDirectory(), 'test_db.sqlite'));

var db = Ti.Database.open('test_db');

如前所述,其中大多数设法创建一个具有给定名称的数据库,但是当尝试运行像我知道将存在于我的预填充数据库中的 db.execute(SELECT) 这样简单的东西时,我收到一条错误消息
 Exception executing: SELECT name, id FROM people ORDER BY name COLLATE NOCASE, Error was: SQL Statement invalid or database missing

我已经到处搜索了一些东西来回答这个问题,但每个人都继续引用上述 API 或移动 API 的 Ti.database.install(),这也不起作用。

钛桌面是否可以使用预先填充的 sqlite 数据库,或者我必须在创建它之后填充它?如果是这样,任何方向都会有所帮助(将 .sqlite 文件放置在应用程序中的何处以及调用哪些函数)。

我目前正在使用 Titanium Studio 和 1.2.0.RC4 的 Titanium 桌面 osx SDK,这是根据潮汐dk.org 的要求,直到他们在那里发布了开源 sdk。

提前致谢

最佳答案

这是可能的,我刚刚在最近的一个桌面应用程序中使用了这个功能,成功地将它部署到了 Windows 和 Mac 上。

根据我的经验,有时您的数据库文件可能会损坏,例如,如果您使用 Titanium.Database.install命令,并且它找不到要从中预加载的文件(例如,可能是您第一次指定错误的路径),它将自己创建文件,任何后续安装命令都将不起作用,因为它已经认为该数据库已安装。

您是否尝试过清除应用程序数据?这是钛安装数据库的地方。对于 Mac,这是在您的 /User/Library/Application Support/APPNAME 中目录。他们是数据库的目录,删除它并重试。

另外,关于 Titanium Q&A 的这个答案可能会有所帮助,它讨论了移动 SDK 的过程,但数据库的东西是一样的。

希望这可以帮助!

关于sqlite - 如何在潮汐dk/titanium 桌面上使用预填充的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12643437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com