无法使用 WHERE 子句删除 SQLite 记录

Not able to delete SQLite records using WHERE clause

在我的应用程序中,我使用 SQLite 数据库来存储值。我想使用 WHERE 子句删除数据库中的一些记录。

这是我写的函数:

public Cursor deleteSomeDetails(String user_login_name, String product_code,
                                         SQLiteDatabase db) {
    Cursor cursor = db.rawQuery("delete from "
                                 + RaisePoProductDetails.NewUSerInfo.TABLE_NAME
                                 + " where user_login_name = '"
                                 + user_login_name + "' and productcode ='"
                                 + product_code + "'", null);

    return cursor;
}

记录还没有删除。难道我做错了什么?有什么建议吗?

使用下面的代码:

public void Delete_Bus(String bus_num)
{
    SQLiteDatabase db=this.getWritableDatabase();
    db.execSQL("DELETE FROM "+TABLE_BUS+" WHERE "+"user_login_name"+"='"+user_login_name+"'");
    db.close();
}

试试这个:

public boolean deleteSomeDetails(SQLiteDatabase db, String user_login_name, String product_code) {
    return db.delete(RaisePoProductDetails.NewUSerInfo.TABLE_NAME, "user_login_name=? and productcode=?", new String[] {user_login_name, product_code}) > 0;
}