2016-11-14 103 views
0

我正在开发一个类似测验的应用程序,我似乎无法通过“类别”(该类别是一个ID,因为它将被分配到不同的位置)得到问题如何通过ID获取数据库的项目?

我有这种方法:

public List<Question> getAllKerdesByHelyID(int ID){ 
     { 
      List<Question> questionlist = new ArrayList<Question>(); 

      String selectQuery= " SELECT * FROM " + TABLE_QUEST + "WHERE " + KEY_HELYID + " = " + ID; 

      dbase = this.getReadableDatabase(); 
      Cursor cursor = dbase.rawQuery(selectQuery, null); 

      if (cursor.moveToFirst()) { 
       do { 
        Question quest = new Question(); 
        quest.setID(cursor.getInt(0)); 
        quest.setQUESTION(cursor.getString(1)); 
        quest.setANSWER(cursor.getString(2)); 
        quest.setOPTA(cursor.getString(3)); 
        quest.setOPTB(cursor.getString(4)); 
        quest.setOPTC(cursor.getString(5)); 
        quest.setID(cursor.getInt(6)); 
        questionlist.add(quest); 
       } while (cursor.moveToNext()); 
      } 
      // return quest list 
      return questionlist; 

     } 
    } 

现在我只是创建应用程序,所以并不是所有的功能都实现了。 KEY_HELYID应该是我试图过滤的整数。

quesList = db.getAllKerdesByHelyID(5);我是如何在活动中调用这种方法的。

谢谢你的帮助!

+0

你可以打印完整的选择查询日志,并将其粘贴? – PedroAGSantos

+0

你的意思是像Log.d(“Query:”+ quest.getQuestion + quest.getAnswer ..)? – kocsisur

+0

我相信通过记录您发现错字,我希望我也帮助过,如果您发现错字,将解决方案放在一起并将其标记为答案 – PedroAGSantos

回答

0

我发现了这个问题,因为在创建数据库表中的一个错字的表是空

相关问题