2011-11-16 50 views
2

我正在製作一個應用程序,在該應用程序中,我需要在活動重新啓動時插入到表中的行在點擊按鈕時被刪除。Android:單擊按鈕從數據庫中刪除行

我已經嘗試了以下方法,但沒有得到所需的結果,並再次插入相同的行。

public void deleteDatabase(String databaseName) { 
     context.deleteDatabase(databaseName); 

    } 

 public void deleteAll(){ 
      db.execSQL("TRUNCATE TABLE" +DATABASE_TABLE); 
      db.execSQL("TRUNCATE TABLE" +DATABASE_TABLE_ICOn); 
      db.execSQL("TRUNCATE TABLE" +DATABASE_TABLE_NAVIGATION); 
      this.db.delete(DATABASE_TABLE, null, null); 
      this.db.delete(DATABASE_TABLE_NAVIGATION,null, null); 
      this.db.delete(DATABASE_TABLE_ICOn, null, null); 
     } 



     db = new WineDatabaseAdapter(HomePageWithPhoneIsOfflineDialog.this); 

    final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setMessage("Your Phone is Offline") 
      .setCancelable(false) 
      .setPositiveButton("Go Online", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog1, int id1) { 

          if(WineDatabaseHelper.checkDataBase()==true){ 

           db.deleteDatabase(WineDatabaseHelper.DATABASE_NAME); 
           //db.deleteAll(); 
          } 

應我該怎麼辦,以解決我的問題。 感謝

回答

1

截斷不sqlite的支持,以便其更好地使用DELETE

標準的方式來刪除所有行的SQL

DELETE FROM MyTable的

你可以還要執行VACUUM以在您刪除大量數據並且想要縮小數據庫文件時壓縮數據庫。

+0

我試過偶也刪除但也不起作用 – ekjyot

+0

你可以試試這個db.execSQL(「從表名刪除」); –

+0

我已經嘗試了相同的代碼 – ekjyot

相關問題