2017-01-06 19 views
-5
public void deleteEntity(int id) { 
     db = this.getWritableDatabase(); 

     try 
      { 
      db.beginTransaction(); 
      /*String s = "DELETE FROM entity_save WHERE _id=" + id; 
      db.execSQL(s);*/ 
      int i=db.delete("entity_save", "save_id = ?", new String[]{ String.valueOf(id) }); 
      } 
     catch(Exception e) 
      { 
      e.printStackTrace(); 
      } 
     finally 
      { 
      db.endTransaction(); 
      db.close();}} 
      } 
+3

あなたの問題は何ですか?あなたの質問は明確ではありません。 – Noorul

答えて

-1

これを試してください。SQLiteクラスでこの関数を作成し、削除操作を実行する場所でこの関数を呼び出してください。削除するにはidを渡すだけです。

public void deleteRow(String id) { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    db.execSQL("DELETE FROM " + TABLE_NAME + " WHERE " + KEY_ID + "='" + id + "'"); 
} 

ご希望の場合はお手数ですが、

-1
次のようにあなたの方法を変更し

public void deleteEntity(int id) { 
     db = this.getWritableDatabase(); 
     try{ 
      db.beginTransaction(); 
      int i=db.delete("entity_save", "save_id = " +"'"+id+"'",null }); 
     }catch(Exception e) 
     {e.printStackTrace();}finally{ 
      db.endTransaction(); 
      db.close();}} 
    } 

は、それはあなたの問題を解決を願っています。

-1

は、あなたが実際にendTransaction()であなたの変更をロールバックコミットしないようにsetTransactionSuccessful()を呼び出す必要があり、この

public void deleteEntity(int id) { 
    db = this.getWritableDatabase(); 

    int i=db.delete("entity_save", "save_id = ?", new String[]{ String.valueOf(id) }); 
} 
+0

これはbeginTransaction()を行う必要はありません。 – Meenal

2

を試してみてください。

関連する問題