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

时间:2016-07-02 12:00:22

标签: android android-sqlite

在我的应用程序中,我使用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;
}

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

2 个答案:

答案 0 :(得分:2)

试试这个:

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;
}

答案 1 :(得分:1)

使用以下代码:

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();
}