我想在String或int值中获取此Cursor Database查询的结果,但不能。我知道coursor.getstring或getint但我在下面的案例和查询函数中应用了probelm。下面是查询函数..我创建了我的数据库java活动,这个方法就在其中......
public Cursor getUpdatedAmount(){
String amountQuery="select sum(amount) from travelling_exp where call_id=1;";
Cursor cursor = myDatabase.rawquery(amountQuery,null);
return cursor;
}
查询工作正常,没有任何错误。 基本上我想删除或更改我的数据库后的amount列的总和,保存并在edittext中显示总和值。但问题是我无法将游标值转换为值字符串或int。
这是我在其他java文件中实现上述数据库查询功能的方法,直到现在:
Cursor cursor = myDB.getUpdatedAmount();
如果amount列中的值为1000,2000,3000,则fucntion返回ex的总和金额,然后上面的查询将返回sum = 6000.所以我想保存并在ediitext中显示6000。 我尝试使用.toString并找到其他方法来工作,但没有运气。 任何人都可以帮我这个。这对我和我的项目非常重要。
提前致谢
答案 0 :(得分:0)
这真的不是那么难,如果你要测试getInt(0)
你会看到你得到了你的答案,但这里是
由于您只选择了SUM,因此只返回1列和1行,这就是getInt(0)
的工作原理。
public String getUpdatedAmount(){
String amountQuery="select sum(amount) from travelling_exp where call_id=1;";
Cursor cursor = myDatabase.rawquery(amountQuery,null);
if(cursor.moveToFirst()){
return "" + cursor.getInt(0);
}
}
注意:我已将您的功能更改为String
而不是Cursor
所以你可以像这样使用它:
txtTotal.setText(getUpdatedAmount());