简体   繁体   English

Android SQLite特定的表行删除

[英]Android SQLite specific table row deletion

I have some trouble removing specific users from my SQLite database on my Android device. 我在Android设备上从我的SQLite数据库中删除特定用户时遇到了一些麻烦。 I made a simple method to delete a table row where table.name equals first input and table.surname equals second input. 我做了一个简单的方法来删除一个表行,其中table.name等于第一个输入,table.surname等于第二个输入。

Here is my method: 这是我的方法:

void deleteUser(db_operations opt, String name, String surname) {
    SQLiteDatabase sdb = opt.getWritableDatabase();
    if(validate(name, surname) == true) {
        name = name.replaceAll("\\s+",""); surname = surname.replaceAll("\\s+","");
        try {
            String DELETE_USER = "DELETE FROM " + tb_users.tb_name + " WHERE " + tb_users.name + "='" + name + "' AND " + tb_users.surname + "='" + surname + "'";
            sdb.execSQL(DELETE_USER);
            sdb.close();
            System.out.println("Deletion SUCCESS!");
        } catch (SQLException e) {
            System.out.println("Deletion FAILED!");
        }
    }
}

If I execute a DELETE FROM myTableName statement, every user is removed from the table and from my ScrollView which is ok, but if I execute the above method to remove a specific user, output gives: 如果我执行DELETE FROM myTableName语句,则每个用户都从表中和我的ScrollView中删除,这是正常的,但如果我执行上述方法删除特定用户,则输出给出:

Deletion SUCCESS! 删除成功!

but my table still has the record. 但是我的桌子还有记录。 The record also remains in my ScrollView list (made with LinearLayouts). 该记录也保留在我的ScrollView列表中(使用LinearLayouts制作)。 The list is built dynamically. 该列表是动态构建的。 I've already checked if the data is good or not before my SQLite execution starts and it looks ok. 在我的SQLite执行开始之前,我已经检查过数据是否正常,看起来没问题。 I can't figure out why my method doesn't work. 我无法弄清楚为什么我的方法不起作用。 Maybe I've missed something. 也许我错过了什么。

(Posted on behalf of the question author) . (代表作者提问)

I got it working. 我搞定了。 I found out that my validation method was returning false output all the time (I made a typo in one of the conditions), that's why my method never got a chance to execute. 我发现我的验证方法一直在返回错误的输出(我在其中一个条件中输了一个错误),这就是为什么我的方法永远不会有机会执行。 Thanks for a reminder to use logs. 感谢您提醒您使用日志。 Was able to track my typo. 能够追踪我的错字。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM