如何使用JavaScript处理SQLite中snippet()的返回值?

如何使用JavaScript处理SQLite中snippet()的返回值?,javascript,jquery,sqlite,Javascript,Jquery,Sqlite,我无法确定如何在SQLite中访问snippet()搜索的返回值。如果我这样搜索: query = "SELECT * FROM guidelines WHERE guidelines MATCH '" + search + "*';"; query = "SELECT snippet(guidelines) FROM guidelines WHERE guidelines MATCH '" + search + "*';"; transaction.executeSql(query,[],

我无法确定如何在SQLite中访问snippet()搜索的返回值。如果我这样搜索:

query = "SELECT * FROM guidelines WHERE guidelines MATCH '" + search + "*';";
query = "SELECT snippet(guidelines) FROM guidelines WHERE guidelines MATCH '" + search + "*';";
transaction.executeSql(query,[], function(transaction, result) {
                    if (result != null && result.rows != null) {
                        $('#lbResult').html('');
                        for (var i = 0; i < result.rows.length; i++) {
                            var row = result.rows.item(i);
                            $('#lbResult').append('<br/> ' + row);
                        }
                    }
                });
然后我得到一个对象,其值与我可以轻松访问的列名相对应。这将打印出正确的值:

$('#lbResult').append('<br/> Search result:' + row.category + ' ' + row.id + ' ' + row.header + '<br/>');
然后尝试按如下方式打印结果:

query = "SELECT * FROM guidelines WHERE guidelines MATCH '" + search + "*';";
query = "SELECT snippet(guidelines) FROM guidelines WHERE guidelines MATCH '" + search + "*';";
transaction.executeSql(query,[], function(transaction, result) {
                    if (result != null && result.rows != null) {
                        $('#lbResult').html('');
                        for (var i = 0; i < result.rows.length; i++) {
                            var row = result.rows.item(i);
                            $('#lbResult').append('<br/> ' + row);
                        }
                    }
                });
transaction.executeSql(查询,[],函数(事务,结果){
if(result!=null&&result.rows!=null){
$('#lbResult').html('');
对于(var i=0;i'+行);
}
}
});

然后,我为每个返回的结果获取一个对象。我得到了正确数量的返回结果,因此搜索工作正常,我只是不知道如何在JavaScript中定位这个值。有什么建议吗?

我到处寻找这个问题的答案。最后,我通过对返回对象的各个级别运行
for key In(object)
循环得到了它,这对
有效:

  transaction.executeSql(query,[], function(transaction, result) {

                    if (result != null && result.rows != null) {
                        $('#lbResult').html('');

                        for (var i = 0; i < result.rows.length; i++) {
                            var row = result.rows.item(i);

                            for(var key in row) {
                                var value = row[key]; //this gives the string value of the returned snippet
                                $('#lbResult').append('<br/> ' + value );
                            }
                        }
                    }

                },nullHandler,errorHandler);
transaction.executeSql(查询,[],函数(事务,结果){
if(result!=null&&result.rows!=null){
$('#lbResult').html('');
对于(var i=0;i'+值);
}
}
}
},nullHandler,errorHandler);

列名
代码片段(指南)
不能在JavaScript中用作名称

可以通过行中的索引检索列值,但如果为列指定另一个名称,则代码更清晰:

query = "SELECT snippet(guidelines) AS snips FROM ..:";
... 
value = row.snips;