javascript - 使用javascript从web sql中的结果集中删除行

标签 javascript html web-sql

我知道 web sql 的结果集不完全是一个数组,更像是一个对象?我正在循环浏览一个结果集,为了加快速度,我想在找到一行后将其删除。我试过“删除”和“拼接”,前者什么都不做,后者抛出错误。这是我正在尝试做的一部分,请注意第 18 行的删除:

function selectFromReverse(reverseRay,suggRay){
    var reverseString = reverseRay.toString();
    db.transaction(function (tx) {  
        tx.executeSql('SELECT votecount, comboid FROM counterCombos WHERE comboid IN ('+reverseString+') AND votecount>0', [], function(tx, results){
            processSelectFromReverse(results,suggRay);
        }); 
    }, function(){onError});
}

function processSelectFromReverse(results,suggRay){
    var i = suggRay.length;
    while(i--){
        var j = results.rows.length;
        while(j--){
            console.log('searching');
            var found = 0;
            if(suggRay[i].reverse == results.rows.item(j).comboid){
                delete results.rows.item(j);
                console.log('found');
                found++;
                break;
            }
        }       
        if(found == 0){
            console.log('lost');
        }
    }
}

最佳答案

实际上您使用 DELETE sql 命令从数据库中删除记录。例如:

tx.executeSql('DELETE FROM counterCombos WHERE comboid = ?', [comboid], success, error);

processSelectFromReverse 可以修改为包含 tx 作为输入,例如

processSelectFromReverse(results,suggRay,tx) 

关于javascript - 使用javascript从web sql中的结果集中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676426/

相关文章:

html - 具有垂直滚动元素的水平滚动站点

Javascript:什么是 $result.rows.item(x) 变量类型?

javascript - 到底什么才算内联 JavaScript? (回顾速度/效率缓存比较)

javascript - 仅使用 CSS 的模态窗口

javascript - 如何使用 Javascript 隐藏和显示基于特定 div 类基的多个 div?

sqlite - 无法准备语句(1个未经授权使用的功能:随机)

Java - 无法解析的日期,需要格式匹配 "GMT-0400"

javascript - extjs 6 复选框组getValue

javascript - 映射数组值时使用异步等待

javascript - 在这种情况下如何计算填充?需要它使长度和宽度相同