从 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 数据库中检索特定项目的主要内容,如果未能解决你的问题,请参考以下文章

从 SQLite 表 iOS 中检索值

如何使用 Swift 从 CoreData sqlite 表中获取特定的行数据

如何从android中的sqlite中检索数据

从 SQLite 数据库 Android 中检索值

您如何通过传递参数从fllite中显示来自sqlite的特定数据

从 SQLite 数据库中检索图像(BLOB 数据类型)