1

我有一个运行良好的代码。我只是从网上复制的。

  db.transaction(function (tx, rs) {
   tx.executeSql("SELECT * FROM persons", [],
         function(tx, rs) {
          callback(rs);
         },
         function(){alert("Failed to fetch data");});
   });
}

在这里,rs指定结果集。我只是想知道,作为第二个参数 ( function(tx, rs)) 给出的任何变量是否将被视为结果集?

如果没有,我们将在哪里获得给定查询的结果集。

提前致谢

4

1 回答 1

2

这应该写成:

db.transaction(function (tx) {
   tx.executeSql("SELECT * FROM persons", [],
         function(tx, rs) {
          callback(rs);
         },
         function(){alert("Failed to fetch data");});
   });
}

事务处理函数中的rs参数实际上并不存在。db.transaction创建一个事务对象,并将其传递给处理函数。在这种情况下,处理程序正在调用executeSql事务对象;处理结果的函数executeSql 确实采用结果集参数。

您无需设置、传递或创建rs参数 - 它是根据 SQL 查询的结果创建的。

于 2013-10-21T11:58:28.810 回答