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?
非常感謝,現在一切都很清楚。我只是在我的應用程序中測試它,它的工作原理。 –