我在Android设备上从我的SQLite数据库中删除特定用户时遇到了一些问题。我做了一个简单的方法来删除一个表行,其中table.name等于第一个输入,table.surname等于第二个输入。
以下是我的方法:
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!");
}
}
}
如果我执行一个DELETE FROM myTableName
语句,每个用户都会从表格和ScrollView中删除,这是好的,但如果我执行上述方法删除特定用户,输出会给出:
删除成功!
但我的桌子仍有记录。该记录也保留在我的ScrollView列表中(使用LinearLayouts制作)。该列表是动态构建的。在我的SQLite执行开始之前,我已经检查过数据是否正常,看起来没问题。我无法弄清楚为什么我的方法不起作用。也许我错过了什么。
答案 0 :(得分:0)
(代表问题作者发布)。
我知道了。我发现我的验证方法一直都在返回 false 输出(我在其中一种情况下输入错误),这就是为什么我的方法永远没有执行机会的原因。感谢您提醒您使用日志。能够追踪我的错字。