2013-06-18 5 views
0

내 안드로이드 응용 프로그램의 sqlite에서 행 수를 얻으려고하고 있는데, 내 DB에 충분한 양의 행이 있어도 항상 0을 반환합니다.SQLite에서 행 수 얻기

DatabaseConnector database1 = new DatabaseConnector(getApplicationContext()); 
int TotalPosts = database1.getIds(); 


public int getIds() 
     { 
      String selectQuery = "SELECT COUNT(Pst_id) AS CountTotal FROM student_posts";   
      SQLiteDatabase database = this.dbOpenHelper.getReadableDatabase(); 
      Cursor c = database.rawQuery(selectQuery, null);  
      count = c.getColumnIndex("CountTotal");  
      return count; 
     } 

감사 : 여기

는 코드입니다.

+0

합니다. – brianestey

+2

@brianestey가 말했듯이,'getColumnIndex'는 반환 된 데이터 세트에서 열의 위치를 ​​반환하고 그 열에있는 값은 반환하지 않습니다. 귀하의 경우에는 하나의 값, 즉'COUNT'에 대해서만 질의 만하면 하나의 열만 가져오고 인덱스는 항상 0이됩니다. – Squonk

답변

10

아래와 같이보십시오 :

public int getIds() 
    { 
    String selectQuery = "SELECT Pst_id FROM student_posts";   
    SQLiteDatabase database = this.dbOpenHelper.getReadableDatabase(); 
    Cursor c = database.rawQuery(selectQuery, null); 
    c.moveToFirst(); 
    int total = c.getCount(); 
    c.close(); 

    return total; 
} 
+0

정말 고마워요 :) 이걸 받아들이려면 6 분을 더 기다려야합니다. 대답 : ( – Trojan

+1

돌아 오기 전에 커서를 닫는 것을 잊지 마십시오! – slott

4

c.getCount()을보십시오 ..이 도움이

Reference

희망 .. 당신은 카운트 변수에 열 인덱스를 할당하는