2013-06-18 63 views
0

我想從我的android應用程序從sqlite的行數,但由於某種原因,它總是返回零,即使我有我的數據庫中有足夠的行數。從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