當我在使用getPesoCount()
像:重新打開已經關閉
Log.v("SQL", String.valueOf(getPesoCount()));
我得到一個錯誤:
FATAL EXCEPTION: main
java.lang.IllegalStateException: attemp to re-open an already-closed object: android.database.sqlite.SQLiteQuery(mSql = SELECT * FROM pesoTable)...
public void addPeso(int peso, String date) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_PESO, peso); // Contact Name
values.put(KEY_DATE, date); // Contact Phone Number
// Inserting Row
db.insert(TABLE_PESO, null, values);
Log.v("SQL", String.valueOf(getPesoCount()));
db.close(); // Closing database connection
}
public int getPesoCount() {
String countQuery = "SELECT * FROM " + TABLE_PESO;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();
// return count
return cursor.getCount();
}
如果我不使用getPesoCount()
,不會發生錯誤。
有人可以幫助我嗎?
刪除此行'cursor.close();' –
感謝TE快速awnser :)我已經使用的另一種方法 – user1870983
我加了:INT C = cursor.getCount();在cursor.close()之前,然後返回c; – user1870983