2012-11-21 100 views
0

我的應用程序具有其具有下述列的SQLite表:如何刪除SQLite中特定列的特定數據?

  • CONTACT_ID = 「_id」,
  • CONTACT_NAME = 「con_name」
  • CONTACT_USERID = 「con_userid」
  • CONTACT_ACCID =「 con_accid」。

con_accid的內容屬於String類型。該表的主鍵是id。我想刪除特定的數據con_accid。例如,我想刪除con_accid"raja"的所有項目的項目名稱。我曾嘗試以下不同的查詢,但都沒有工作:

Cursor cursor = database.query(ContactsDB.TABLE_CONTACTS, allColumns, 
      ContactsDB.CONTACT_ACCID + "= ' " + comment +"'" , null, null, null, null); 
    if (cursor != null) { 
     cursor.moveToFirst(); 
     while (!cursor.isAfterLast()) { 
      Log.i(TAG, "delete"); 
      ContactsInfo _comment = cursorToComment(cursor); 
      long id = _comment.getId(); 
      database.delete(ContactsDB.TABLE_CONTACTS, ContactsDB.CONTACT_ID + "=" + id , null); 
      cursor.moveToNext(); 
     } 
    } 

這:

String query = "SELECT * FROM todo WHERE con_accid='" + comment; 
Cursor cursor = database.rawQuery(query,null); 
+0

你的問題有點含糊不清。你想要刪除只有** con_accid = raja'或者你想刪除的**整行**數據(所有列)**'con_name'中的名字,其中'con_accid = raja'? – Luksprog

+0

我想刪除表中所有可用行的'con_accid = raja'整行。 –

回答

1

這應該刪除數據庫中的所有行con_accid = raja

database.delete(TABLE_CONTACTS, CONTACT_ACCID + " = ?", new String[] {"raja"}); 
0

檢查「數據庫「實例使用.getWritableDatabase()創建。而你的查詢應該沒有任何問題。

+0

實例可用,我在查詢中遇到問題,爲什麼-ve標記? –