tx.executeSql
方法需要一个回调,然后您可以处理查询的结果。看看这里,你可以看到一个例子:http://www.tutorialspoint.com/html5/html5_web_sql.htm
正如你可以看到有,他们做到以下几点:
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "<p>Found rows: " + len + "</p>";
document.querySelector('#status').innerHTML += msg;
for (i = 0; i < len; i++){
msg = "<p><b>" + results.rows.item(i).log + "</b></p>";
document.querySelector('#status').innerHTML += msg;
}
}, null);
});
在你的情况,你可能会做这样的事:
function (content)
{
db.transaction(function (tx) {
tx.executeSql('SELECT FirstColumn FROM SampleTable WHERE SecondColumn = ?',[content], function (tx, results) {
if (results.rows.length) {
var displayContent = results.rows.item(0).FirstColumn;
document.querySelector('...').innerHTML = ...; // Display something
}
});
});
}
如果你想尝试等待查询,看看这个前面的Stackoverflow问题:HTML5 WebSQL: how to know when a db transaction finishes?
非常感谢,现在一切都很清楚。我只是在我的应用程序中测试它,它的工作原理。 –