2012-12-22 95 views
0

有人可以给我看一个Web SQL选择查询,它将结果作为对象返回,而不是提醒或记录到控制台。WebSQL返回对象

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

+0

在得到任何有意义的响应之前,您需要对问题有更清晰的了解。你读过这个:http://stackoverflow.com/faq#howtoask –

回答

1

如果我们假设该问题涉及Web SQL下执行查询和获取结果集所需的API,则可以按如下所示继续操作。我没有给出太多细节的问题是一点点模糊和显示作业的迹象...

  1. 启动一个readTransaction(你没有说“查询”,所以我会假设“选择”)上一个开放的数据库:

    db.readTransaction(onStartTransaction); //少用readTransaction

的onStartTransaction功能看起来像这样锁定开销:

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

只是通过你的SQL和[]为PARAMS如果你不需要任何。

您的结果将返回到您的 'onExecuteSqlOk' 功能:

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

的好吃的东西都在SqlResultSet对象。

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

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

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