我正在android studio中创建一个应用程序,我将一些问题存储在数据库中,该数据库是在用户首次打开该应用程序并创建另一个数据库时创建的,因此用户可以添加他的问题,我需要从这两个数据库中随机抽取一个问题,每个数据库都有3个相同的列1.问题2.热3.性别 这是我已经尝试过但无法使用的内容。
public Cursor getQuestion(int HeatLevel, int Gender) {
SQLiteDatabase db = this.getWritableDatabase();
String query = "SELECT question, heat, gender FROM " + TABLE_NAME +
" WHERE heat = " + HeatLevel + " AND gender = " + Gender +
" UNION ALL" +
" SELECT question, heat, gender FROM " + SECOND_TABLE_NAME +
" WHERE heat = " + HeatLevel + " AND gender = " + Gender +
" ORDER BY RANDOM() LIMIT 1";
Cursor data = db.rawQuery(query, null);
return data;
}
因此,应用程序根据难度和玩家性别从数据库中选择一个问题。 上面的代码产生一个错误,提示“没有这样的表”,并且找不到第二个数据库的名称。
我在另一个活动中使用此问题
public void getQuestion(int HeatLevel, int Gender) {
Cursor question = QuestionDB.getQuestion(HeatLevel, Gender);
if (question.moveToNext()) {
QuestionTextView.setText(question.getString(0));
}
}
我是sql的新手,所以查询可能是错误的。