我需要使用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
函数的参数化语句,但是如何将它们放入数组中以便我可以在单个事务中执行它们?
由于
答案 0 :(得分:0)
如果你有一个SQL语句数组,那么你需要将它修改为更复杂,以便它还包括你的绑定参数。我将改为一组简单的对象。想象一下sqls是一个数组:
sqls [0] .sql将是SQL语句:插入foo(?,?,?) sqls [0] .params将是一系列参数:[2,“foo”,4]
您的代码将被修改为只使用每个部分。