0

今年の pro_price から合計金額を照会したい.. sqlite クエリステートメント getDate().endWith(getThisYear()) に何か問題がありますか?

 public double SumPriceYear(){

Cursor sum = ourDatabase.rawQuery("SELECT SUM( " + Pro_Price + " ) FROM "+ TABLE_NAME + " Where " + Pro_Date + " = '" + getDate().endsWith(getThisYear()) + "' ", null);
if(sum.moveToFirst())
{
    return sum.getDouble(0);
}

return sum.getDouble(0);

}

4

1 に答える 1

0

選択した合計には、値ではなく列名が必要です。また、日付を単に年と比較するべきではありません。それは一致しません。毎年比較する必要があります。

これを試して:

public double SumPriceYear(){

Cursor sum = ourDatabase.rawQuery("SELECT SUM(COLUMN_NAME) FROM "+ TABLE_NAME + " WHERE date(" + Pro_Date + ",'%Y') = '" + getDate().endsWith(getThisYear()) + "' ", null);
if(sum.moveToFirst())
{
    return sum.getDouble(0);
}

    return sum.getDouble(0);
}

私は以下に変更を加えました:

  • SUM(COLUMN_NAME)
  • WHERE 日付(" + Pro_Date + ",'%Y')
于 2013-07-10T16:47:22.697 に答える