我目前正在開發一個帶eclipse的android應用程序。更新數據庫時出現問題。問題是在調用updateFlag方法時應用程序崩潰。 updateFlag方法僅基於rowId更新一個特定列。更新數據庫時應用程序崩潰
這是SQLiteAdapter類我的數據庫結構:
public long insert(String answer, String question, String hint, String flag, String level){
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_ANSWER, answer);
contentValues.put(KEY_QUESTION, question);
contentValues.put(KEY_HINT, hint);
contentValues.put(KEY_FLAG, flag);
contentValues.put(KEY_LEVEL, level);
return sqLiteDatabase.insert(MYDATABASE_TABLE, null, contentValues);
}
這是SQLiteAdapter類的更新方法:
public void updateFlag(long rowId)
{
ContentValues args = new ContentValues();
args.put(KEY_FLAG, "1");
sqLiteDatabase.update(MYDATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null);
}
這是我如何調用updateFlag方法在另一類:
mySQLiteAdapterListener2 = new SQLiteAdapter(this);
mySQLiteAdapterListener2.openToWrite();
long idListener = Long.parseLong(getId);
mySQLiteAdapterListener2.updateFlag(idListener);
mySQLiteAdapterListener2.close();
我的代碼有什麼問題?任何人都知道如何以正確的方式更新基於rowId的特定列?
你會得到什麼異常/ stacktrack? – Nick
當你的應用程序崩潰時,你應該總是使用logcat –
logcat不會顯示任何錯誤 –