我在使用 PhoneGap 删除本地存储数据库中的一行时遇到了很大的麻烦。
当我调用函数deleterow()时,它会触发错误,提示“未定义”。显然调用了errorCB()函数。该行未被删除。
我所做的是通过像这样的 HTML anchor 标记调用我的函数。
<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);
});
}
希望有帮助。
关于javascript - PhoneGap本地存储sql删除语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19247451/