java如何从多个本地sql数据库表中获取结果?
我正在安卓 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新手,所以可能查询是错误的
共 (0) 个答案