2015-01-30 4 views
0
  1. SQL:, чтобы получить имя столбца или столбца в результирующем наборе запросов?

    select a.a, a.b, b.c from a, b where a.a=b.a; 
    
  2. SQL:

    select '*' from table; 
    
  3. SQL:

    select '*' from table1, table2 where table1.a=table2.a; 
    
  4. SQL:

    select '*' from table1 left join table2 on table1.a=table2.a; 
    

Случае 1 известно имя столбца в результирующем наборе sql (ОК). Случай 2 можно найти название столбца (используйте для pragma table_info (table);) (OK). Но случай 3, 4 - как получить имя столбца столбца в наборе результатов?

+0

Если вы просто хотите, чтобы увидеть набор результатов просто вызовите DatabaseUtils.dumpCursor() – pskink

ответ

0

Запрос возвращает Cursor, и вы можете получить имена столбцов курсора, например. getColumnName().

1

Вы можете пройти возвращаемый Cursor так:

for (int i = 0; i < cursor.getColumnCount(); i++) { 
     Log.d("tag", cursor.getColumnName(i) + " -> " + cursor.getType(i)); 
} 

Обратите внимание, что cursor.getType() будет один из следующих действий:

static final int FIELD_TYPE_NULL = 0; 
static final int FIELD_TYPE_INTEGER = 1; 
static final int FIELD_TYPE_FLOAT = 2; 
static final int FIELD_TYPE_STRING = 3; 
static final int FIELD_TYPE_BLOB = 4;