通过db.transaction函数传递参数

时间:2016-02-19 13:50:36

标签: javascript sql

我认为这是一个相当的noob问题,但无法找到直接的解决方案。这是我的情况:

var db = window.openDatabase("database.db", "1.0", "Any_Name", 20000);
db.transaction(queryDB, errorCB);

//-------------------------------------

function queryDB (tx) {
    tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB);
}

这没有问题,但是当我尝试通过queryDB函数发送额外的参数时,我总是收到错误,我试过了:

db.transaction(queryDB ("hello"), errorCB);
db.transaction(queryDB (db, "hello"), errorCB);
db.transaction(queryDB (tx, "hello"), errorCB);

function queryDB (tx, param1) {
        tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB);
    }

我不确定queryDB函数最初在哪里获取 tx 值。

谢谢!

1 个答案:

答案 0 :(得分:2)

function queryDBWithParam(param1) {
  return function(tx) {
      //you can use parameter param1
      tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB);
  }
}

db.transaction(queryDBWithParam("hello"), errorCB);
相关问题