android
  • sqlite
  • 2011-03-15 74 views 1 likes 
    1

    對不起,如果這看起來很明顯。我試圖編寫一個方法來從String showId中刪除一行。什麼是最好的方式,遊標只能用於選擇還是用於刪除和更新? 這是兩種方法,我在迄今:Android:刪除數據庫中的特定行

    public int deleteShowById1(String showId){ 
        Cursor cursor = db.rawQuery("DELETE FROM tblShows WHERE showId = '" + showId+"'", null); 
        if (cursor.moveToFirst()) { 
         return 1; 
        } else 
         return -1; 
    } 
    
        public int deleteShowById2(String showId) { 
        String table_name = "tblShows"; 
        String where = "showId='"+showId+"'"; 
        return db.delete(table_name, where, null); 
    } 
    

    回答

    0

    我傾向於使用第二種方法(db.delete),因爲我認爲使用rawQuery是不可取的。

    如果你做了一個選擇,然後通過遊標循環來做更新或刪除,這是有道理的,但通過光標做刪除或更新對我來說沒有意義,因爲該程序贏得了'不知道如何解析遊標結果來獲取正確的字段。

    1

    正如我們從mysql查詢中知道的,在android中它是一樣的。

    String query = "DELETE FROM " +TABLE_NAME+ " WHERE " + COLUM_NAME+ " = " + "'"+VALUE +"'" ; 
    
        SQLiteDatabase db = this.getWritableDatabase(); 
        db.execSQL(query); 
        db.close(); 
    

    VALUE可以或者可以不依賴於數據類型有單引號。

    相關問題