在开发带有预填充数据库的桌面应用程序时,我需要一些帮助。我已经尝试了很多方法来让这个工作,包括在http://tidesdk.multipart.net/docs/user-dev/generated/#!/api/Ti.Database.DB和 Titanium Desktops old的 Tidesdk 的 API 中提到的方法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,这是按照 titesdk.org 的要求,直到他们在那里发布了开源 sdk。
提前致谢