从 SQLite 数据库中检索特定项目
Posted
技术标签:
【中文标题】从 SQLite 数据库中检索特定项目【英文标题】:Retrieving a specific item from SQLite database 【发布时间】:2014-05-11 07:01:08 【问题描述】:我这里有一个损坏的函数代码,它会,我的问题是我想将检索到的项目的值传递给 displayContent 但我不知道该怎么做,我的代码只是旨在检索单行而不是多行,因为 SecondColumn 的内容不相同。我现在一无所知。
这是我的代码:
function ( content )
var displayContent;
db.transaction(function (tx) tx.executeSql('SELECT FirstColumn FROM SampleTable WHERE SecondColumn = ?',[content]); );
我们很乐意接受任何额外的想法,我坚持这一点。
【问题讨论】:
【参考方案1】: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
);
);
如果您想尝试等待查询,请查看之前的 *** 问题:HTML5 WebSQL: how to know when a db transaction finishes?
【讨论】:
非常感谢,我现在一切都清楚了。我刚刚在我的应用程序中对其进行了测试,它可以工作。以上是关于从 SQLite 数据库中检索特定项目的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 从 CoreData sqlite 表中获取特定的行数据