android sqlite从数据库中随机获取数据

use*_*365 -3 sqlite random android

我的数据库包含问题,每个问题都有三个选项。一切正常,但是当我尝试随机获取问题和选项时,它给了我错误:

我发现了与我的问题类似的问题,但它也没有起作用,

这是我的代码:

public List<Test> getTest() {
List<Test> MyList = new ArrayList<Test>();

myDB=this.getReadableDatabase();
Cursor cursor = myDB.rawQuery("SELECT  * FROM " + My_Table + "ORDER BY RANDOM() LIMIT 1", null);

if (cursor.moveToFirst()) {
do {
Test newQ = new Test();
newQ .setId(cursor.getInt(0));
newQ .setTest(cursor.getString(1));
newQ .setAns(cursor.getString(2));
newQ .setO1(cursor.getString(3));
newQ .setO2(cursor.getString(4));
newQ .setO3(cursor.getString(5));
MyList .add(newQ );
} while (cursor.moveToNext());
}
return MyList ;}
Run Code Online (Sandbox Code Playgroud)

当我将此行添加到我的代码中时:

ORDER BY RANDOM()LIMIT 1

该活动将无法进行。

laa*_*lto 5

您还需要ORDER BY将SQL 的部分引用为Java字符串文字:

"SELECT  * FROM " + My_Table + " ORDER BY RANDOM() LIMIT 1"
Run Code Online (Sandbox Code Playgroud)

  • 在已编辑的问题中,您忘记了表名和`ORDER`之间的空格 (2认同)