我尝试使用COUNT
随机选择表格中的行tx.executeSql("SELECT COUNT(*) FROM TABLE" , [], querySuccess, errorCB);
但我不知道如何检索它。 ( results.rows.length 返回1,我有5行。) 我遵循一些建议,但我想知道是否有更好的解决方案。
更新
function queryDB(tx) {
tx.executeSql("SELECT COUNT(1) FROM WORD" , [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
alert(results.rows.item(0));
}
对于results.rows(0).item(0),它显示“Uncaught TypeError:对象#的属性'行'不是函数”。 对于results.rows.item(0),它显示警告“[object OBJECT]”。
答案 0 :(得分:2)
如果您尝试从数据库中选择随机行,请尝试:
SELECT col1, col2
FROM YourTable
ORDER BY RANDOM()
LIMIT 1
这将带回一个随机行。这将允许您跳过初始调用以确定表的记录计数,并自己选择一个随机值。
似乎某些版本的sqlite已禁用Random,在这种情况下,我认为您可能希望在表中找到行数:
SELECT COUNT(1)
FROM Table
然后,您需要在代码中选择一个随机数,然后查询该记录。
目前您的results.rows.length returns 1
因为SELECT COUNT(*)...只会返回一行数据,而columb是表格中的行数。