Cordova SQL - 如何在单个事务中执行多个参数化插入语句

时间:2014-03-11 08:58:48

标签: sqlite cordova

我需要使用Cordova在SQLite数据库中执行多个insert语句。目前我能够通过构造一个insert语句数组来实现这一点,然后在sql事务块中执行它们:

function populateDB(tx) {

    if(sqls.length > 0) {
        for (var index = 0; index < sqls.length; index++) {
            tx.executeSql(sqls[index]);
        }
    }
}

function errorCB(err) {
    alert(err.message);
}

function successCB() {
    alert("insert success!");
}

db.transaction(populateDB, errorCB, successCB);

我知道我可以使用带有tx.executeSql函数的参数化语句,但是如何将它们放入数组中以便我可以在单个事务中执行它们?

由于

1 个答案:

答案 0 :(得分:0)

如果你有一个SQL语句数组,那么你需要将它修改为更复杂,以便它还包括你的绑定参数。我将改为一组简单的对象。想象一下sqls是一个数组:

sqls [0] .sql将是SQL语句:插入foo(?,?,?) sqls [0] .params将是一系列参数:[2,“foo”,4]

您的代码将被修改为只使用每个部分。