我有一个带有两个表的数据库,每个表都有一个带有日期的列。 我使用strftime获取整整一个月或一整年的行。这些是DatabaseHelper类中的方法:
public Cursor GetListOfYears() {
return myDb.rawQuery("SELECT DISTINCT strftime('%Y',date) AS _id
FROM table_week ORDER BY date", null);
}
public Cursor GetListOfMonths() {
return myDb.rawQuery("SELECT DISTINCT strftime('%m',date) AS _id,
strftime('%Y',date) AS year
FROM table_week ORDER BY date", null);
}
问题是年份方法工作正常,但是第一个月,看起来工作正常一段时间但是当我将新行保存到表格(本例中为table_week)时,前几个月的日期甚至是之前的日期多年来,这确实很奇怪。我会自己解释一下:
想象有3行的日期来自may,3个日期来自6月...直到那里一切正常......现在我保存了一个新行,日期分别在去年4月,或2月或12月。 .. 1.它可以正常工作2.它可以显示列表中的月份,但点击时无法访问其余信息(不太可能发生几次)3。显示正确的月份但年份是0和4.显示错误的月份,但年份是正确的(这通常发生在从2011年保存日期,显示2011年,但月份始终是1月......)
我无法弄清楚这一点,但我确定月份是问题,因为年份列表工作正常...任何帮助将不胜感激,非常感谢您提前