未捕获 table:Ti.Database.install
Uncaught no such table: Ti.Database.install
我正在使用 Ti.Database.install 安装我通过 SQLite 管理器创建的现有数据库。我也在城市 table 中插入了一些数据。在 IOS 模拟器上一切正常。当我在 Android 设备上尝试 运行 时,出现错误 "Uncaught no such table: city (code 1)"。我已将 test.sqlite 放入 assets/db 文件夹
var database = Ti.Database.install('/db/test.sqlite', 'test');
Ti.API.debug('installed '+ database.getName() );
var db = Ti.Database.open('test');
Ti.API.debug('reopened db' );
var rs = db.execute('SELECT * from city LIMIT 5');
while (rs.isValidRow()) {
// Ti.API.info(rs.fieldByName('name'));
// rs.next();
}
db.close();
此方法始终适用于使用单一代码库的 Android/iOS。将数据库文件保存在此位置:
项目 -> 应用程序 -> 库 -> mydatabase.sqlite
然后我在一个文件中使用下面的代码,该文件也位于 Android/iOS:
的同一个 lib 目录中
项目 -> 应用 -> 库 -> my_database.js :
try {
var db = Ti.Database.install('mydatabase.sqlite', 'APP_DB_NAME');
db.close();
} catch (ex) {}
注意: 根据文档,install() 方法使用相同的参数路径-目录方法,这意味着无论您的数据库文件在哪里,您都必须 运行 .js 文件中的安装代码,该文件必须位于同一目录中。
因此,上面的 .sqlite 文件在该 lib 文件夹中,并且安装脚本 .js 文件也在该 lib 文件夹中,这进一步为您提供了 运行 安装脚本仅在1 个文件,您可以使用 require('my_database');
在任何地方使用该文件
我正在使用 Ti.Database.install 安装我通过 SQLite 管理器创建的现有数据库。我也在城市 table 中插入了一些数据。在 IOS 模拟器上一切正常。当我在 Android 设备上尝试 运行 时,出现错误 "Uncaught no such table: city (code 1)"。我已将 test.sqlite 放入 assets/db 文件夹
var database = Ti.Database.install('/db/test.sqlite', 'test');
Ti.API.debug('installed '+ database.getName() );
var db = Ti.Database.open('test');
Ti.API.debug('reopened db' );
var rs = db.execute('SELECT * from city LIMIT 5');
while (rs.isValidRow()) {
// Ti.API.info(rs.fieldByName('name'));
// rs.next();
}
db.close();
此方法始终适用于使用单一代码库的 Android/iOS。将数据库文件保存在此位置:
项目 -> 应用程序 -> 库 -> mydatabase.sqlite
然后我在一个文件中使用下面的代码,该文件也位于 Android/iOS:
的同一个 lib 目录中项目 -> 应用 -> 库 -> my_database.js :
try {
var db = Ti.Database.install('mydatabase.sqlite', 'APP_DB_NAME');
db.close();
} catch (ex) {}
注意: 根据文档,install() 方法使用相同的参数路径-目录方法,这意味着无论您的数据库文件在哪里,您都必须 运行 .js 文件中的安装代码,该文件必须位于同一目录中。
因此,上面的 .sqlite 文件在该 lib 文件夹中,并且安装脚本 .js 文件也在该 lib 文件夹中,这进一步为您提供了 运行 安装脚本仅在1 个文件,您可以使用 require('my_database');
在任何地方使用该文件