javascript - PhoneGap本地存储sql删除语句

标签 javascript database cordova

我在使用 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/

相关文章:

javascript - 一系列需要彼此结果的 AJAX 调用

javascript - 处理字符串中存在的 ASCII 代码

javascript - 为什么重置过滤器在 d3 js 强制定向图中不起作用?

javascript - 使用 Javascript 收集鼠标在 Canvas 上的位置

javascript - JQuery datetimepicker 异常日与 minDate 和 maxDate

mysql - 无法检索月初之前的记录 - Mysql

sql - "select max in group"的最佳性能查询?

javascript - Cordova FileTransfer 插件无法在 Android 5+ 上运行

android - 在模拟器上运行程序时,在 Android 中复制数据库时出错

javascript - 可以使用 Pushwoosh Remote API + Phonegap 发送基于 GeoZones 的推送