2016-08-22 122 views
-2

我想在我的DBHandler類如何計算表中的記錄並將值存入活動?

public int getPointsCount() { 
     String countQuery = "SELECT * FROM " + TABLE_STUDENTS; 
     SQLiteDatabase db = this.getReadableDatabase(); 
     Cursor cursor = db.rawQuery(countQuery, null); 
     cursor.close(); 
     return cursor.getCount(); 
    } 

使用此代碼,我用在主要活動按鈕這一呼籲,但它會導致我的應用程序崩潰,當我按一下按鈕

callButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
      int cn = countStudents(); 
       studentNumberText.setText(cn); 
      } 
     }); 

public int countStudents(){ 
     DBHandler dbHandler = new DBHandler(this, null, null, 1); 
     int c = dbHandler.getPointsCount(); 
     return c; 
    } 
+0

SELECT COUNT(*)獲取表計數://www.w3schools.com/sql/sql_func_count.asp – kosa

+3

'它會導致應用程序crash' =交你的logcat –

回答

0

通過調用這個方法從tablename.http

public int gettablecount(){ 
    Cursor mCount= db.rawQuery("select count(*) from TABLENAME ", null); 
    mCount.moveToFirst(); 
    int count= mCount.getInt(0); 
    mCount.close(); 
    return count; 
} 
+0

你也可以選擇所有的行並獲得遊標數。這並不回答爲什麼應用程序崩潰,但 –

+0

請發佈您的日誌,如果應用程序崩潰 –

+0

我沒有發佈的問題。一旦你有足夠的聲譽,你可以評論 –

相關問題