我的Android应用有2个表Projects
和Tasks
。
每个Project
可以有多个Tasks
。
如下所示
现在我想总结一下task
表
我做到了..但问题是它从所有任务表中添加比例值!
我编码的光标如下
public int sumproportion(long projectId){
int value = 0;
int p = 0;
Cursor cu = mDatabase.rawQuery("SELECT * FROM " + DBHelper.TABLE_TASKS, null);
ArrayList temp = new ArrayList();
if (cur != null) {
if (cur.moveToFirst()) {
do {
temp.add(cur.getString(cur.getColumnIndex("proportion"))); // "Title" is the field name(column) of the Table
} while (cur.moveToNext());
}
}
Object ia[] = temp.toArray();
for(int i=0; i<ia.length; i++)
{
p = Integer.parseInt((String) ia[i]);
value = value + p;
}
System.out.println("Value is: " + value);
return value;
}
当我在下面添加光标时
Cursor cur = mDatabase.query(DBHelper.TABLE_TASKS, mAllColumns,
DBHelper.COLUMN_TASK_PROJECT_ID + " ="+String.valueOf(projectId),
null, null, null, null);
它不会添加任何内容。任何人都可以帮忙解决它吗?
答案 0 :(得分:0)
首先,您可以使用此SELECT SUM(proportion) from TABLE_TASK
之类的查询。 proportion
应该有数字类型。
其次,验证您的Cursor返回任何行。如果没有行,可能会传递错误的projectId
。