sqlite android中的日期出错

时间:2012-09-15 17:00:35

标签: android sqlite

我正在尝试从android运行一个关于sqlite数据库的语句...我希望从一个表中返回一些记录,其中lastChagedDate比我给出的日期大。

假设我有这个:

private String ending_date = "2012-01-01 08:24:59";

roadmapSyncStmt = "SELECT * FROM roadmap WHERE lastChangedDate > '"+ ending_date +"'";

roadmapSyncStmt是我将在sqlite表上执行的日期。 该陈述将类似于:

SELECT * FROM roadmap WHERE lastChangedDate >"2012-01-01 08:24:59"

当我跑步时,我得到了这个错误:

  

sqlite返回:错误代码= 1,msg =接近“2012”:语法错误

并且游标中没有数据,即使我的数据库包含大量尊重这种情况的数据。有人知道我做错了吗?

1 个答案:

答案 0 :(得分:2)

您应将日期值用单引号括起来,而不是双引号。像这样:

SELECT * FROM roadmap WHERE lastChangedDate > '2012-01-01 08:24:59'

在您学习的同时,我建议您安装基于PC的SQLite编辑器,例如" SQLite数据库浏览器"您可以在SourceForge上找到它。它比在您的应用中测试更快更容易。我甚至会说所有的数据库开发,测试,查询创建等都应该在你的PC上完成,然后它就是一个复制/粘贴练习,可以将它放到你的应用程序中。

祝你好运。