我在使用 PhoneGap 删除本地存储数据库中的一行时遇到了很大的麻烦。
当我调用函数 deleterow(( 时,它会触发并显示错误"未定义"。 显然,错误CB((函数被调用了。 该行已删除。
我所做的是通过这样的 HTML 锚标记调用我的函数。
<a onclick="deleterow('10')">Delete row</a>
function deleterow(id) {
db.transaction(function(ctx) {
ctx.executeSql('DELETE FROM <table> WHERE id=?', [id], successCB, errorCB);
});
}
OR
function deleterow(id) {
db.transaction(function(ctx) {
ctx.executeSql('DELETE FROM <table> WHERE id='+id+'', [], successCB, errorCB);
});
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
function successCB() {
alert("Row deleted");
}
我有工作示例:
INSERT
SELECT
UPDATE
CREATE
我发现很难相信删除支持。
我是对的,还是我错过了什么?
我找到了一个解决方案:
function delete(id) {
db.transaction(function(ctx) {
ctx.executeSql('DELETE FROM manyrecipes WHERE rowid=?', [id], delete_success, errorCB);
});
}
这里的问题在于您用于删除的函数语法,请尝试以下操作:
function deleterow(id) {
db.transaction(function(ctx) {
ctx.executeSql('DELETE FROM <table> WHERE id='+id+'', errorCB);
});
}
希望有帮助。