Cordova SQLite类-无法从数据库返回值
因此,我正在使用Cordova和SQLite构建一个应用程序,下面是我创建的用于处理数据库属性和方法的对象存储Cordova SQLite类-无法从数据库返回值,sqlite,cordova,Sqlite,Cordova,因此,我正在使用Cordova和SQLite构建一个应用程序,下面是我创建的用于处理数据库属性和方法的对象存储 功能存储(连接、平台) { 如果(平台==“移动”){ this.db=window.sqlitePlugin.openDatabase({name:connection.name,location:connection.location}); }else if(平台=='web'){ this.db=window.openDatabase(connection.name、conne
功能存储(连接、平台)
{
如果(平台==“移动”){
this.db=window.sqlitePlugin.openDatabase({name:connection.name,location:connection.location});
}else if(平台=='web'){
this.db=window.openDatabase(connection.name、connection.version、connection.mode,-1);
}
this.read=函数(sql、VAL){
var行=null;
此.db.事务(功能(tx){
tx.executeSql(sql、VAL、函数(tx、res){
行=res.rows;
});
},函数(错误){
console.log('Transaction error:'+error.message);
});
返回行;
};
};
变量连接={
名称:“database.db”,
版本:“1.0”,
模式:“发展”
};
var db=新存储(连接“web”);
var-sql='';
sql+=“选择*”;
sql+=“从倒计时开始”;
sql+=“其中倒计时状态!=?;”;
var rows=db.read(sql[1]);
console.log(行)代码>数据库读取是异步的-它需要将数据返回到回调函数,如下所示:
getHighScore: function (type,callback) {
var query = "SELECT Value FROM HighScore where Type = '" + type + "';";
playedDb.transaction(function (tx) {
tx.executeSql(query, [], function (tx, res) {
var out;
if (typeof res.rows.item(0) === "undefined") {
if (typeof callback === "function") {
callback(-1);
return;
};
} else {
out = res.rows.item(0).Value
//task 301 only allow alphanumeric and decimal point (for version)
out = String(out).replace(/[^0-9a-z\.]/gi, '');
if (typeof callback === "function") {
callback(out);
return;
};
}
}, function (e) {
console.log("getHighScore FAILED: " + e.message);
if (typeof callback === "function") {
callback(-2);
return;
};
});