2013-04-16 60 views
-1

我正在處理我的第一個Android項目,我有一些SQLite數據庫的困難。我需要積累,例如sum(amount) for which name= cash and debit_credit= dr。在sql中沒有for循環,所以我如何使用while循環和光標來做到這一點?下面是我的表:雖然循環和光標在android

ID NAME Debit_Credit AMOUNT 
1 cash dr   100 
2 equip cr   100 
3 cash dr   500 
4 A/R  cr   500 
+0

你可以檢查我編輯的答案,看看這種方式是否適合你 – hardartcore

回答

1

SELECT Sum(amount) FROM table WHERE name=? AND debit_credit=?(這確實是一個SQL問題)

UPDATE:對於這個簡單的查詢只返回一個數字,你可以使用.simpleQueryForLong()

SQLiteStatement st = db.compileStatement("SELECT Sum(amount) ...", ...); 
long sum = st.simpleQueryForLong(); 
+0

是的,但我真正的問題是如何將它附加到遊標並顯示爲int。這是我的代碼,但c.getString(1)會導致錯誤。 Cursor c = datasource.database.rawQuery(「SELECT sum(amount)as Total FROM entries WHERE name ='cash'AND debit_credit ='dr'」,null); \t \t \t c.moveToFirst(); \t \t \t Log.i(LOGTAG,c.getString(1)); – Iva

+1

第一個返回列中的值是'c.getString(0)'。 –

+0

好吧,它最好是一個數字,答案用Java代碼更新。 –