我的应用程序让用户将记录输入数据库。记录包含自动递增的ID,日期(以mm-dd-yyyy格式显示的文本),数量(int)以及其他一些字段。访问游标时出现异常
我试图抓住所有的月份和每月的总金额。所以,我可以像在我的应用程序显示出来:2010年12月 - 90qty,2011年1月 - 45qty ...
我使用这个查询做到这一点:
return mDb.query("record", new String[] {KEY_ROWID, "strftime('%m-%Y', date)", "sum(quantity)"}, null, null, "strftime('%m-%Y', date)", null, null);
我相信查询好但在访问游标时出现异常。它说“日期”不是专栏。如果我将[日期]从[]重新命名为“dateA”,则该异常读取'dateA'不是列,所以我认为这会缩小问题的范围。
Cursor c = mDbHelper.fetchReport();
String[] from = new String[] { "date", "quantity" };
int[] to = new int[] { R.id.text1, R.id.text2 };
setListAdapter(new SimpleCursorAdapter(this, R.layout.basicrow, c, from, to) {
}
任何想法?
更新:执行select strftime('%m-%Y',date)时,记录的总和(数量);在adb shell中,它返回“:94”...数量在那里(但是所有日期)但是日期不是。
当我输入时,从记录中选择strftime(date),它将返回所有日期(本测试用例中为3)。当我输入时,从记录中选择strftime('%m-%Y',日期),它返回3个空白行。
你能发布你的SqliteDatabaseHelper代码吗? – James 2011-04-13 14:38:08
你有没有想过这个?我现在有这个相同的问题。 – Kalina 2011-07-22 21:54:49