2017-09-02 34 views
1

我想和现在搜索一段时间没有成功,删除我的数据库表中的特定行。无法删除行比较我的SQLite数据库中的日期Android

我想这样做是因为在DATE记录值和nextday值之间进行比较的结果。

我认为这将做的工作

String sql = "DELETE FROM Planned_expenses_table WHERE DATE <= date('now','+1 day')"; 
    SQLiteDatabase db = this.getWritableDatabase(); 

    db.execSQL(sql); 
    db.close(); 

但事实并非如此。

有什么建议吗?我目前正在使用模式"YYYY-MM-DD"存储列DATE值,这与date()返回的值相同。 Logcat不显示任何异常。
那么这段代码有什么问题?先谢谢你。

编辑:我刚刚注意到,如果我在>改变<=该行被删除,但这是很奇怪的,因为保存的日期是老年人

+0

你还没有告诉我们你想删除哪些日期。 –

+0

@CL。我想从表格中删除表格中DATE值比明天日期更早的每条记录。无论如何,我设法解决它。 –

回答

0

我设法达到了希望的结果。

显然我是以YYYY-M-D的形式保存日期,而不是写在问题中的日期。这就是为什么订单检查<=是行为不端。

-1

为什么不计算日期,然后通过实际值。

var tomorrow = DateTime.Now + TimeSpan.FromDays(1); 
string sql = $"DELETE FROM Planned_expenses_table WHERE DATE <= '{tomorrow.ToString("yyyy/MM/dd")}')"; 
SQLiteDatabase db = this.getWritableDatabase(); 

db.execSQL(sql); 
db.close(); 
+0

感谢您的快速响应,但android工作室似乎无法解决DateTime和TimeSpan,我如何导入它们? –