Я пытаюсь получить данные из нескольких определенных столбцов таблицы в SQLite, но с кодом ниже, я не уверен, почему, но вместо того, чтобы получать данные из двух разных столбцов, он просто получает данные из самого первого столбцакоторый я указал в своем методе, который является столбцом «бюджет» таблицы «расходы»: -
String temp_category = "budget";
Cursor latestamount = myDb.getLatestAmount(id, temp_category);
if (latestamount.getCount() == 0) {
Toast.makeText(AddExpenses.this, "No amount found !", Toast.LENGTH_LONG).show();
} else {
latestamount.moveToFirst();
amountfromdb_budget = latestamount.getDouble(0);
}
temp_category = "foodndrinks";
myDb.getLatestAmount(id, temp_category);
if (latestamount.getCount() == 0) {
Toast.makeText(AddExpenses.this, "No amount found !", Toast.LENGTH_LONG).show();
} else {
latestamount.moveToFirst();
amountfromdb_foodndrinks = latestamount.getDouble(0);
}
Используя приведенный выше код, оба моих «amountfromdb_budget» и «amountfromdb_foodndrinks» будут вставлены сзначение в столбце "бюджет" моего SQLite.Моя цель - извлечь значение в столбце «бюджет» в «сумму» и значение в столбце «еда и напитки» в «сумму».
Ниже мой метод "getLatestAmount" в моем классе DatabaseHelper: -
public Cursor getLatestAmount(String id, String category) {
SQLiteDatabase db = this.getWritableDatabase();
Cursor latestamount = db.rawQuery("SELECT "+category+" FROM spendings WHERE id =" +id , null);
return latestamount;
}
И структура моей таблицы "расходов" ниже: -
private static final String SPENDING_TABLE = "spendings";
private static final String ID_SPENDING = "id";
private static final String BUDGET = "budget";
private static final String TOTAL_EXPENSES = "total_expenses";
private static final String FOODNDRINKS = "foodndrinks";
private static final String TRAVEL = "travel";
private static final String SHOPPING = "shopping";
private static final String ENTERTAINMENT = "entertainment";
private static final String OTHERS = "others";
private static final String BALANCE = "balance";