数据库
首页 > 数据库> > 使用javascript从web sql中删除结果集中的行

使用javascript从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,html5,web-sql
来源: https://codeday.me/bug/20190613/1231656.html