很抱歉,如果之前询问了相关问题,但我找不到它的解决方案。实际上我正在从SQLite
检索数据,并在每个用户输入的“计数”列上添加添加当前加上前一个输入。一切都很好。我试图在Textview
的{{1}}中显示从数据库中检索到的计数。当我做SUM(计数)listview
时,我可以看到计数,但问题是FROM TABLE_NAME
只显示列表中的一个项目。它只是改变第一项或覆盖。我怎么解决这个问题。请帮忙。显示以下代码段:
这是我从listview
检索数据的公共函数。
SQLite
答案 0 :(得分:0)
你必须使用两个不同的查询
1)返回所有产品的清单
public List<Product> getAllProduct() {
List<Product> products = new ArrayList<Product>();
Cursor cursor = database.rawQuery("SELECT * From shirts ORDER BY id DESC ", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
int id = cursor.getInt(0);
String title = cursor.getString(1);
String price = cursor.getString(2);
String quantity = cursor.getString(3);
int count = cursor.getInt(4);
products.add(new Product(id, title, price, quantity, count));
cursor.moveToNext();
}
cursor.close();
return products;
}
2)购物车中的物品数量
public int getTotalItem() {
int totalItem=0;
Cursor cursor = database.rawQuery("SELECT count(*) as totalItem From shirts ORDER BY id DESC ", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
int id = cursor.getInt(0);
cursor.moveToNext();
}
cursor.close();
return totalItem;
}
答案 1 :(得分:0)
@OmInfowareDevelopers这是我想要实现的答案。您没有将游标值放在int变量中,这就是它始终返回null的原因。嗯,我真的很感谢你的时间,并向我提出了我想要的确切答案。
public int getTotalItem() {
int totalItem = 0;
Cursor cursor = database.rawQuery("SELECT SUM(count) From shirts ORDER BY id DESC ", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
totalItem = cursor.getInt(0);
cursor.moveToNext();
}
cursor.close();
return totalItem;
}