2012-03-13 3 views
2

나는 안드로이드에 대한 자바 일식에서 일하고 있습니다. 데이터베이스의 테이블에있는 행의 양을 반환한다고 가정하는 데이터베이스 관리자 클래스에 메서드가있는 작은 sqlite 데이터베이스가 있습니다.이진 반환 SQLite 행 번호 쿼리

방법 그건 :

public int getHomeScreenTotal(){ 

    SQLiteDatabase db=this.getReadableDatabase(); 
    int rows = -1; 
    try { 
     rows = (int) db.compileStatement(
     "SELECT COUNT(*) FROM " + homeIcons).simpleQueryForLong(); 
    } catch (NullPointerException e) { 
    return -1; 
    } 
    return rows; 

    } 

문제에 상관없이 내가 그것을 바이너리가 아닌 int를 반환 할 것입니다. 그래서 3을 반환하는 대신 11을 반환하고, 4 대신 100, 5/101 등을 반환합니다.

당신은 내가 말하여의에 강제로하려고했다, INT 기반을 주석 볼 수 있듯이 :

INT 기본 = 2; int total = Integer.parseInt (bin, base); 하지만 오류가 발생했습니다 ..

+0

'c.getString (0)'을 출력하면 출력되는 내용은 무엇입니까? 'c.getInt (0)'의 결과는 이미 'int'이어야합니다 – zapl

답변

0

커서를 사용하지 않으면 커서로 되돌릴 것입니다. int 또는 long을 시도하십시오.

+0

죄송합니다. 실제로 잘못된 코드 verion을 거기에 올려 놓았습니다. 위의 내용을 참조하십시오. 여전히 바이너리 결과를 얻고 있습니다. 올바른 결과, 잘못된 형식으로 – erik