从内部联接结果中检索所有列中的所有数据

时间:2013-01-25 07:26:21

标签: android sqlite

如何从INNER JOIN结果检索所有列的数据?我使用这个查询:

SELECT course.course_title, 
       course.course_body, 
       course. course_image, 
       instructor.instructor_title, 
       instructor.instructor_body, 
       instructor.instructor_photo
FROM  course
INNER JOIN instructor
ON  course.course_instructor1=instructor.instructor_nid
WHERE course_id=4

这是我将用于执行的等效变量COURSE_OUTLINE

String COURSE_OUTLINE = 
        "SELECT " + Qualified.COURSE_TITLE + ", " 
                  + Qualified.COURSE_BODY + ", " 
                  + Qualified.COURSE_IMAGE + ", "
                  + Qualified.INSTRUCTOR_TITLE + ", "
                  + Qualified.INSTRUCTOR_BODY + ", "
                  + Qualified.INSTRUCTOR_IMAGE + ", " +
        "FROM "   + Tables.COURSE_JOIN_INSTRUCTOR +
        "WHERE "  + CourseColumns.COURSE_ID + 
        "=?";

在我的代码中,

Cursor cur = mSqliteDb.rawQuery(SubQuery.COURSE_OUTLINE, new String[] {position});

这给出了1条记录。我知道如何从特定列中检索数据,但我不确定如何从所有列中检索它。

这是我用来从特定列中检索数据的代码

public String getCourseImage(int position) {
    String image = "";
    String pos = Integer.toString(position);

    Cursor cur = mSqliteDb.rawQuery(SelectQuery.ALL_COURSES, new String[] {pos});
    if (cur != null) {
        if (cur.moveToFirst()) {
            do {
                image = cur.getString(cur.getColumnIndex(CourseColumns.COURSE_IMAGE)); 
            } while (cur.moveToNext());
        }
        cur.close();
    }
    return image;
}

我的目的是将列中的每个数据映射到View

1 个答案:

答案 0 :(得分:0)

getColumnNames为您提供包含所有列的数组...如果这就是您所要求的。这很难说。