Je voudrais retourner le ffTotal après avoir additionné toute la valeur extraite de la base de données où la catégorie est "Aliments". Cependant, je n'arrive pas à renvoyer l'objet ffTotal. Le ffTotal dans le "return ffTotal" est en rouge, et le "ffTotal" dans la "var ffTotal" n'est jamais utilisé. Puis-je savoir pourquoi? Ci-dessous mes codes:
private fun getFoodTotal(fTotal: Double): Double {
val current = LocalDateTime.now()
val month = current.get(ChronoField.MONTH_OF_YEAR)
val year = current.get(ChronoField.YEAR)
val sqlCon = SQLCon()
var LoggedInUser: String? = intent.getStringExtra("Logged In User")
connection = sqlCon.connectionClass()!!
try {
val sql: String=
"SELECT SUM(eAmount) as sumFAmount from Expenses where Username = '$LoggedInUser'AND eMonth = '$month' AND eYear = '$year' AND Category = 'Food' GROUP BY eMonth, eYear"
statement = connection!!.createStatement()
var rs: ResultSet = statement!!.executeQuery(sql)
//return ffTotal
if (rs.next())
{
var ffTotal = rs.getDouble("sumFAmount")
}
rs.close()
statement!!.close()
Toast.makeText(this, "Success", Toast.LENGTH_LONG).show()
} catch (e: Exception) { Log.e("Error", e.message!!) }
return ffTotal
}
Solution du problème
Vous le déclarez à l'intérieur du bloc try, il n'est donc visible qu'à l'intérieur du bloc try. Déplacez le retour à l'intérieur du bloc try et ayez un retour séparé à l'intérieur du bloc catch (ou lancez une erreur). Sinon, déclarez-le avant le bloc try avec une valeur par défaut (cela n'a pas vraiment de sens, mais c'est une option).
Aucun commentaire:
Enregistrer un commentaire