我知道 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/