我的應用程序讓用戶將記錄輸入數據庫。記錄包含自動遞增的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