PhoneGap-随机选择数据库

时间:2012-10-18 03:35:09

标签: sql cordova

我尝试使用COUNT

随机选择表格中的行
tx.executeSql("SELECT COUNT(*) FROM TABLE" , [], querySuccess, errorCB);

但我不知道如何检索它。 ( results.rows.length 返回1,我有5行。) 我遵循一些建议,但我想知道是否有更好的解决方案。

  1. COUNT
  2. 然后var numRand = Math.floor(Math.random()*(TOTALROW + 1))
  3. 查询特定行
  4. 更新

     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]”。

1 个答案:

答案 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是表格中的行数。