0
我試圖按重新啓動按鈕後重置我的數據庫爲默認狀態。我的問題是,按下重新啓動按鈕後,似乎我無法檢索新添加的數據。我在這裏做錯了什麼?部分代碼將不會檢索數據庫中重置後的數據
restartButton代碼:
private void easySQLRestart() {
sql = new SQLDatabaseLevelOne(MainActivity.this);
sql.open();
sql.restart();
sql.close();
}
重啓代碼:
public void restart() {
sqlDatabase = dbHelper.getWritableDatabase();
sqlDatabase.delete(DATABASE_TABLE, null, null);
}
這是我復位後添加新的數據部分:
public void updateScore(int score) {
String strScore;
if (score == 0) {
score = 1;
} else if (score > 0) {
strScore = getScore();
if (strScore.equals("")) {
score = 1;
} else {
strScore = getScore();
int value = Integer.parseInt(strScore);
score += value;
}
}
ContentValues dbContentValues = new ContentValues();
dbContentValues.put(KEY_SCORE, score);
sqlDatabase.update(DATABASE_TABLE, dbContentValues, KEY_ID + "=" + 1,
null);
}
這對於檢索代碼數據:
public String getScore() {
String[] data = new String[] { KEY_ID, KEY_SCORE };
Cursor dbCursor = sqlDatabase.query(DATABASE_TABLE, data, null, null,
null, null, null);
String dbResult = "";
int dbQuestionStatus = dbCursor.getColumnIndex(KEY_SCORE);
for (dbCursor.moveToFirst(); !dbCursor.isAfterLast(); dbCursor
.moveToNext()) {
dbResult += dbCursor.getString(dbQuestionStatus);
}
return dbResult;
}
這是我如何添加數據。它不會拋出異常:現有記錄
sql = new SQLDatabaseLevelOne(
EasyRoundActivity.this);
sql.open();
try {
sql.updateScore(0);
}catch(Exception e) {
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Toast.makeText(context, "ERROR", duration).show();
}
確保你在調用Update的行之前插入新的數據,並通過記錄log來檢查你對sqlDatabase.update和sqlDatabase.query的響應。 – 2013-02-26 15:21:56
@ρяσѕρєяK如何製作日誌? – droidH 2013-02-26 15:26:16