任何人都可以帮助我进行这些数据库查询吗
Can any one help me with these Database query
我想以 String 或 int 值获取此游标数据库查询的结果,但不能。我知道 coursor.getstring 或 getint 但我在以下情况和查询函数中应用了 problem。下面是带有查询的函数。我创建了我的数据库 java activity,这个方法就在其中...
public Cursor getUpdatedAmount(){
String amountQuery="select sum(amount) from travelling_exp where call_id=1;";
Cursor cursor = myDatabase.rawquery(amountQuery,null);
return cursor;
}
查询工作正常,没有任何错误。
基本上我想要删除或更改我的数据库后的金额列的总和,保存并在编辑文本中显示总和值。但问题是我无法将游标值转换为值字符串或 int。
到目前为止,这就是我在其他 java 文件中实现上述数据库查询功能的方式:
Cursor cursor = myDB.getUpdatedAmount();
如果金额列中的值为 1000,2000,3000,则函数 return 的总金额为 ex,则上述查询将 return 总和 = 6000。所以我想保存并在编辑文本中显示 6000。
我尝试使用 .toString 并找到其他可行的方法,但没有成功。
谁能帮我解决这个问题。它对我和我的项目非常重要。
提前致谢
这真的没有那么难,如果你去测试一下 getInt(0)
你会发现你已经找到了答案,但答案就在这里
由于您只选择 SUM,因此只有 1 列和 1 行将被 returned,这就是 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);
}
}
注意:我已将您的函数更改为 return a String
而不是 Cursor
所以你可以这样使用它:
txtTotal.setText(getUpdatedAmount());
我想以 String 或 int 值获取此游标数据库查询的结果,但不能。我知道 coursor.getstring 或 getint 但我在以下情况和查询函数中应用了 problem。下面是带有查询的函数。我创建了我的数据库 java activity,这个方法就在其中...
public Cursor getUpdatedAmount(){
String amountQuery="select sum(amount) from travelling_exp where call_id=1;";
Cursor cursor = myDatabase.rawquery(amountQuery,null);
return cursor;
}
查询工作正常,没有任何错误。 基本上我想要删除或更改我的数据库后的金额列的总和,保存并在编辑文本中显示总和值。但问题是我无法将游标值转换为值字符串或 int。
到目前为止,这就是我在其他 java 文件中实现上述数据库查询功能的方式:
Cursor cursor = myDB.getUpdatedAmount();
如果金额列中的值为 1000,2000,3000,则函数 return 的总金额为 ex,则上述查询将 return 总和 = 6000。所以我想保存并在编辑文本中显示 6000。 我尝试使用 .toString 并找到其他可行的方法,但没有成功。 谁能帮我解决这个问题。它对我和我的项目非常重要。
提前致谢
这真的没有那么难,如果你去测试一下 getInt(0)
你会发现你已经找到了答案,但答案就在这里
由于您只选择 SUM,因此只有 1 列和 1 行将被 returned,这就是 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);
}
}
注意:我已将您的函数更改为 return a String
而不是 Cursor
所以你可以这样使用它:
txtTotal.setText(getUpdatedAmount());