android中的SELECT和WHERE(SQlite)

时间:2014-08-19 20:37:06

标签: android sqlite

我想搜索表中是否有确切的course_no,semester和year值。 我的问题是我只能过滤course_no。

Cursor cursor = database.query(DatabaseHelper.TABLE_COURSE, CourseItemDataSource.allColumns, DatabaseHelper.KEY_COURSE_COURSE_NO + "=?", new String[] { notiItem.getCourseNo() }, null, null, null);

当我尝试添加其他过滤器时,它似乎无法正常工作

[编辑]很抱歉没有提供信息,问题是当我通过以下代码过滤器时,不能正常工作。请注意,notiItem.getCourseNo()和notiItem.getYear()是一个String。

表中的以下列是TEXT。

Table

 Cursor cursor = database.query(DatabaseHelper.TABLE_COURSE, CourseItemDataSource.allColumns, DatabaseHelper.KEY_COURSE_COURSE_NO + "=? AND "+DatabaseHelper.KEY_COURSE_YEAR+"=?", new String[] { notiItem.getCourseNo() ,notiItem.getYear()}, null, null, null);

这是我尝试的方法的代码

 public CourseItem searchToCourse(NotificationItem notiItem){
      /**Check if exact course_no, semester, year of notiItem exist in Course Table
       * return null if not found
       * 
       */
      String [] columns = new String[]{ "*"};
      Cursor cursor = database.query(DatabaseHelper.TABLE_COURSE, CourseItemDataSource.allColumns, DatabaseHelper.KEY_COURSE_COURSE_NO + "=?", new String[] { notiItem.getCourseNo() }, null, null, null);

      Log.i("DATA SOURCE", "AFTER QUERY ");
      if (cursor != null) {
            cursor.moveToFirst();
      }

      CourseItem courseItem = CourseItemDataSource.cursorToCourseItem(cursor);
      return courseItem;
  }

如何一次搜索多个列?

0 个答案:

没有答案