在SQLite中,简单的DELETE语句无法正常工作。

4

可能是重复问题:
Android 删除查询

我有一个数据库,目前它有17条记录。 这是我的代码:

SQLiteDatabase db=openOrCreateDatabase("mydb", MODE_PRIVATE, null);
c= db.rawQuery("DELETE FROM tbl1 where cat='12'",null);
db.close();

这是一个非常简单的查询,但每次我在模拟器上运行应用程序时,它都能完美地运行而没有任何错误,但也没有删除任何内容。

有谁能帮我分析一下问题所在?


如果您尝试使用sqlite3命令行工具,它是否有效?“cat”列中的值是什么类型? - CL.
请使用db.execSQL()代替db.rawQuery()。 - Yaqub Ahmad
4个回答

5

使用此代码可以从名为 tbl1 的表中删除 cat=12 的所有行。


2

试试这个

public void deleteContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
            new String[] { String.valueOf(contact.getID()) });
    db.close();
}

2

尝试使用这段代码:

db.delete(String table, String whereClause, String[] whereArgs);

0

使用它:

db.delete(DATABASE_TABLE, KEY_NAME + "=" + name, null)

你的代码有问题 - '12'。 插入更改:

c= db.rawQuery("DELETE FROM tbl1 where cat=12",null);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接