【发布时间】:2014-04-29 11:22:12
【问题描述】:
按照 Gaurav 的建议,我已将“demo.db”文件复制到 /data/data/package_name/databases/: 访问:http://gauravstomar.blogspot.com/2011/08/prepopulate-sqlite-in-phonegap.html
“demo.db”已经创建了表(例如:项目)
我尝试使用 SQLitePlugin https://github.com/chbrody/Cordova-SQLitePlugin/ 连接到“demo.db”
我已经按照这个插件的开发者的建议安装了这个插件。
在我的 .js 部分中,在触发“deviceready”事件后,我完成了以下操作:
var db = window.sqlitePlugin.openDatabase("demo", "1.0", "my demo", 500000);
db.transaction(function(tx){
tx.executeSql('INSERT INTO Projects (ProjectCode, ProjectDescription) VALUES(?,?)',["Lastly", "fdgsdfgsdg"], function(tx, result){
tx.executeSql('SELECT * FROM Projects',[],function(tx, result){
alert("projects");
for (var i=0; i<result.rows.length; i++){
alert("Row = " + i + " ID = " + result.rows.item(i).ProjectId + "ProjectCode = " + result.rows.item(i).ProjectCode);
}
hideLoading();
});
}, function(err) {//error callback function.
alert("Database is not created.");
hideLoading();
});
在我的例子中,SQLitePlugin 没有使用导入的“demo.db”,而是通过覆盖导入的数据库创建了新的数据库“demo.db”。执行插入代码时,会抛出错误,“错误:没有这样的表:项目”。因此,触发错误回调函数。请建议我解决我的问题。
【问题讨论】:
标签: android sqlite cordova phonegap-plugins