【发布时间】:2016-06-08 18:04:35
【问题描述】:
我正在尝试使用 Cordova 制作一个小应用程序。试图简单地在 sqlite 数据库中插入一些值。但我不能create,也不能insert 任何东西。我对 android studio 非常陌生。我尝试在 eclipse 和 xcode 上运行相同的代码,它工作正常!我使用了 sqlite-local 存储插件
这是我的代码:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var db = window.sqlitePlugin.openDatabase({
name: "DMS"
});
db.transaction(function(tx) {
// tx.executeSql("DROP TABLE IF EXISTS tblUserLoginDetail ");
tx.executeSql("CREATE TABLE IF NOT EXISTS tblUserLoginDetail (UserId INTEGER , Username VARCHAR ,Password VARCHAR )");
alert("Creating table");
// tx.executeSql("INSERT INTO tblUserLoginDetail (UserId,Username,Password) values (1,"kamayani","kam12")",[],function(){alert("success");},function(){alert("error");});
tx.executeSql('INSERT INTO tblUserLoginDetail (UserId, Username,Password) VALUES ("1", "Firstrow","kkk")');
});
$("#btnSignIn").click(function() {
//
//ValidateUser();
alert("onClik");
var db = window.sqlitePlugin.openDatabase({
name: "DMS"
});
db.transaction(function(tx) {
tx.executeSql("select * from tblUserLoginDetail", [], function(tx, results) {
var len = results.rows.length;
var row = results.rows.item(0);
var UserDetail = row['UserId'] + "-" + row['Username'];
alert("MeetingName" + UserDetail);
}, function() {
alert("error");
});
});
});
}
function errorCB(err) {
alert("Error" + err.code);
}
会发生什么是它显示所有警报,如“创建表”,然后显示 onclick 警报 .. 但后来我在 Android Studio 的文件资源管理器中找不到数据库!我错过了什么吗?
我已在 assets-->www-->plugins 文件夹中添加了插件,并在 html 文件中提供了指向 Sqliteplugin.js 的链接。
【问题讨论】:
-
在您的 HTML 中包含 Cordova.js 文件?
-
是的,我做到了。我包括了 cordova.js 文件。我也尝试在新创建的cordova项目中运行一些在线示例sqlite代码,但这也不起作用。确切地说,文件资源管理器中的 app_databases 文件夹不会创建 DMS.db
-
根据 sqliteplugin 的官方 github 页面,在 opendatabase() 中我们应该像这样指定 db 文件名 - var db = window.sqlitePlugin.openDatabase({name: 'my.db',位置:'默认'},successcb,errorcb);但我没有看到你指定的位置,而且名称是 DMS,不应该是 DMS.db 吗?
-
据我所知,默认情况下采用 .db 扩展名,代码在 Eclipse 中工作。但我会试一试!!
-
你也可以照顾位置:默认设置
标签: sqlite cordova android-studio cordova-plugins