2010-12-07 2 views
1

앱 데이터 저장 전용 행 데이터베이스가 있습니다. 내 목표는 하나의 열 (하나의 값)을 읽는 것입니다.Android SQLiteDatabase : 하나의 열 읽기

이 쿼리는 커서의 모든 열을 반환 :

public Cursor readAll() { 
     return getReadableDatabase().query(tableName, null, null, null, null, null, null); 
    } 

그것은 하나 그것에 행 바로 완벽한으로 커서를 반환합니다. 그러나 모든 컬럼을 한번에 읽고 싶지는 않습니다. 왜냐하면 DB에 BLOB가 있기 때문에 속도가 느리기 때문입니다. 대신, 한 번에 하나의 열만 읽고 싶습니다. 예를 들어, "TEXT"라는 칼럼을 위해이 될 것이다 :

public Cursor readText() { 
     String[] projection = new String[]{"TEXT"}; 
     return getReadableDatabase().query(tableName, projection, null, null, null, null, null); 
    } 

그러나,이 작동하지 않습니다, 나는 제로 행이 다시 커서를 얻을 수있다.

그렇다면 Android의 SQLiteBatabase에서 특정 열을 읽는 방법은 무엇입니까?

+0

당신은 여기 된 SharedPreferences 사용을 고려할 수있는이 하나를 사용할 수 있습니다. 이것은 빠르고 쉽습니다. – Varun

답변

0
public Cursor readText() { 
     return getReadableDatabase().rawQuery("SELECT colName FROM myTable", new String[] {}); 
    } 
0

구문이 정확합니다. 컬럼의 올바른 이름을 사용했는지 확인하십시오. 테이블 생성 코드와 실제 쿼리 코드가 도움이 될 수 있습니다.

0

당신은 u는 DB에 바이너리 데이터를 저장하지 않는 경우도

public Cursor readText() { 
    return getReadableDatabase().rawQuery("SELECT column_name FROM table_name", null); 
} 
관련 문제