2012-01-03 17 views

उत्तर

37

आप बस एसक्यूएल क्वेरी को हटाने के लिए उपयोग कर सकते हैं के रूप में दी जानी चाहिए।

public void delete(String id) { 
     db.execSQL("delete from "+TBL_NAME+" where Google='"+id+"'"); 
    } 

आपकी क्वेरी में आप whereArgs

db.delete(table, whereClause, whereArgs) 

यह इस

db.delete(TBL_NAME, "Google=?", new String[]{Integer.toString(id)}); 
+1

+1 'whereClause' के रूप में ** डालने के साथ सहमत गूगल =? ** –

2
database.delete("tablename", "column_name=?", new String[] {Integer.toString(id)}); 
  • जहां हालत मान एक स्ट्रिंग सरणी
6

की तरह होना चाहिए के स्थान पर अशक्त से गुजर रहे हैं इस

public boolean favoriteDelete(int id) { 
    return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + id, null) > 0; 
} 
+2

मुझे पता कर सकते हैं अपने जवाब में अंतर और उपयोगकर्ता के सवाल क्या है? –

0

में एकल उद्धरण जोड़ने का प्रयास करें आपका जहां खंड ...

return database.delete("FavoriteData", "Goggle" + "='" + id+"'", null) > 0; 
0

स्ट्रिंग मैनिपुलेशन की तुलना में प्लेसहोल्डर का उपयोग करना बेहतर है। Int के लिए ठीक है लेकिन जैसे ही आप वहां एक स्ट्रिंग डालते हैं, चीज़ें गलत हो जाएंगी।

String where = COLUMN_NAME_ADDRESS + " = ?"; 
    String[] whereArgs = { String.valueOf(address) }; 

    SQLiteDatabase db = mDbHelper.getWritableDatabase(); 
    db.delete(TABLE_NAME_DEVICES, where, whereArgs); 
संबंधित मुद्दे