[英]Android SQLite specific table row deletion
我在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执行开始之前,我已经检查过数据是否正常,看起来没问题。 我无法弄清楚为什么我的方法不起作用。 也许我错过了什么。
(代表作者提问) 。
我搞定了。 我发现我的验证方法一直在返回错误的输出(我在其中一个条件中输了一个错误),这就是为什么我的方法永远不会有机会执行。 感谢您提醒您使用日志。 能够追踪我的错字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.