如何从SQLite中的特定列中删除特定数据?

时间:2012-11-21 07:19:19

标签: android 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);

2 个答案:

答案 0 :(得分:1)

这应删除数据库中con_accid = raja

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

答案 1 :(得分:0)

使用.getWritableDatabase()创建检查“database”实例。您的查询应该没有任何问题。