0

有人可以向我展示一个 Web SQL 选择查询,该查询将结果作为对象返回,而不是向控制台发出警报或记录。

我想集中我的选择查询,而不是在特定函数中重复选择/执行和处理结果代码。

4

1 回答 1

1

如果我们假设该问题与 Web SQL 下执行查询和获取结果集所需的 API 有关,您可以如下所示继续。我没有提供太多细节,因为这个问题有点模糊,几乎没有家庭作业的证据......

  1. 在一个打开的数据库上启动一个 readTransaction(你确实说“查询”,所以我假设“选择”):

    db.readTransaction(onStartTransaction); // 使用 readTransaction 减少锁定开销

onStartTransaction 函数如下所示:

function onStartTransaction(tx) {
        tx.executeSql(sql, params, onExecuteSqlOk, onExecuteSqlFail);
    }

如果您不需要任何参数,只需传递您的 sql 和 [] 作为参数。

您的结果将返回到您的“onExecuteSqlOk”函数:

function onExecuteSqlOk(tx, result) {
        //
        // tx: an SqlTransaction object
        // results: an SqlResultSet object
        //

好东西在 SqlResultSet 对象中。

它具有具有“行”属性的结构。每行包含在 sql select 语句中指定的字段。

var len = results.rows.length; // how many rows did we get
var firstRow = results.rows.item(0);

因此,您从 Web Sql 查询中得到一个“对象”作为结果。请注意,显示的 api 是异步的,因此您可能需要使用进一步的回调函数....

于 2013-05-02T02:02:38.823 回答