【发布时间】:2011-02-02 23:39:30
【问题描述】:
我正在使用 jQuery 和 HTML 编写一个网络应用程序。
目前它所做的只是创建一个数据库,将数据添加到数据库中(检查并正常工作),然后显示数据。
我正在使用的函数中有这段 SQL:
tx.executeSql('SELECT * FROM entries ORDER BY RANDOM() LIMIT 1', [], renderResults);
这绝对行不通。
第二次我删除“ORDER BY RANDOM()”部分,它工作正常。
快把我逼疯了!!!
更新 - 这是我的代码:
这是我的代码:
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.4.1");
</script>
<script>
var db = window.openDatabase("scores", "", "Previous Scores", 1024*1000);
$(document).ready(function() {
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Strokes(id INTEGER PRIMARY KEY, sample TEXT, sample2 TEXT)', []);
});
insertScores();
extractScores()
});
function insertScores() {
var example = "One";
var example2 = "Two";
db.transaction(function(tx) {
tx.executeSql('INSERT INTO Strokes (sample, sample2) VALUES (?, ?)', [example, example2]);
});
db.transaction(function(tx) {
tx.executeSql('INSERT INTO Strokes (sample, sample2) VALUES ("example3", "example4")', []);
tx.executeSql('INSERT INTO Strokes (sample, sample2) VALUES ("example5", "example6")', []);
});
}
function extractScores() {
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM Strokes ORDER BY RANDOM() LIMIT 1;', [], displayResults);
});
}
function displayResults(tx, rs){
var $selectedAnswer = "";
for (var i=0; i < rs.rows.length; i++) {
var row = rs.rows.item(i);
$selectedAnswer =($selectedAnswer + 'sample: ' + row['sample'] + ', sample2: ' + row['sample2']);
}
alert($selectedAnswer);
}
</script>
如果我删除“ORDER BY RANDOM()”,它会起作用,如果我把它留在里面,什么都不会发生。
【问题讨论】:
-
您能否澄清“这绝对行不通”。被拒绝为合法的sql?不返回随机行?
-
您的数据库中是否有整数主键?我的数据库中有一个主键,
order by random()工作正常。 -
不返回任何东西 Bert.