如何在javascript中查找表的特定列的长度?

时间:2013-05-20 12:22:46

标签: javascript jquery sqlite

我在我的项目中使用sqlite数据库。

我的表结构几乎就是这样

id  cid values

1   1   value1
2   1   value2
3   1   value3
4   1   value4
5   2   value1
6   2   value2
7   3   value1
8   3   value2
9   3   value3

所以我想要相同的 cid 的所有值,我应该如何编码呢?​​

我的查询:

tx.executeSql("SELECT cid,value FROM table where cid="+cid_value, [], querySuccess, errorCB,cid_value);

因为,当我按照以下方式尝试时,

var details = results.rows.length;
console.log("db test value:"+results.rows.item(cid_value).value);
for (var i=cid_value; i<details; i++)
{
cidinstance=results.rows.item(i).cid;
var valueinstance=results.rows.item(i).value;
document.getElementById("s"+i+"cause").innerHTML=valueinstance;
console.log("cid= "+cidinstance +   "valueinstance= "+valueinstance);
}

然后当i = cid_value(cid_value = 1),目标是cid = 1,我们有四个值,我只得到 3个值。但是,如果我把 i = 0 ,然后我得到 4个值

i = cid_value(cid_value = 2)以cid = 2为目标时,我得到以下内容

01-01 05:45:38.687: I/Web Console(2425): JSCallback: Message from Server:  SQLitePluginTransaction.queryCompleteCallback('1104538538488000','1104538538491000', [{"value":"value1","cid":"2"},{"value":"value22","id":"6","cid":"2"}]); at file:///android_asset/www/cordova-2.1.0.js:3726.

问题是,当我从服务器获取消息作为JS Callback时,我得到的值。不是来自for循环

请建议我解决问题的方法!。引导我找到出路。

1 个答案:

答案 0 :(得分:1)

如果要查找列出特定CID的行数,则需要在SQLite中使用COUNT函数。

所以你的陈述是::

SELECT COUNT(values) FROM TableName WHERE cid=1 

这将直接给你计数。您自己不需要任何代码来进行计算。