没有错误但是数据没有使用删除从Sqlite数据库中删除

时间:2014-11-08 15:49:02

标签: android sqlite sql-delete

我正在尝试从表中删除数据并且能够编写命令但不幸的是数据没有被删除..没有报告错误或异常,但没有发生任何事情。

检查了stackoverflow中的类似帖子,但没有任何帮助我,也无法理解我哪里出错了。

以下是我的代码

Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -0);
backup_date=((c.get(Calendar.DATE)-1)+"/"+(c.get(Calendar.MONTH)+1)+"/"+c.get(Calendar.YEAR));

System.out.println(backup_date);
                Database.getInstance(getApplicationContext()).getWritableDatabase().beginTransaction();
                result=Database.getInstance(getApplicationContext()).getWritableDatabase().delete(tablename, column2 + " < '" + backup_date + "'", null);
                Database.getInstance(getApplicationContext()).getWritableDatabase().setTransactionSuccessful();
                if(result!=1){
                    Toast.makeText(getApplicationContext(), "Problem with deletion try again", Toast.LENGTH_LONG).show();
                }
                else{
                    System.out.println("deleted successfully");
                    Toast.makeText(getApplicationContext(), "Data deleted successfully for the date " + backup_date, Toast.LENGTH_LONG).show();
                }

专家请帮助我在哪里出错......

感谢您的时间

1 个答案:

答案 0 :(得分:0)

看起来你没有打电话给endTransaction

此外,这可能不是您的主要问题,但您计算日期的逻辑不会在12月或一个月的第一天(也可能在其他时间)工作。不是试图单独操作单个日期字段,而是使用原始日期创建一个新变量,然后添加一个月并减去一天。然后使用那个日期。尝试在真空中调整单个字段永远不会起作用。