2013-02-26 21 views
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(); 
             } 
+0

確保你在調用Update的行之前插入新的數據,並通過記錄log來檢查你對sqlDatabase.update和sqlDatabase.query的響應。 – 2013-02-26 15:21:56

+0

@ρяσѕρєяK如何製作日誌? – droidH 2013-02-26 15:26:16

回答

0

SQLiteDatabase.update()更新。要插入一些新的,你需要調用SQLiteDatabase.inset()