【发布时间】:2018-01-05 22:19:56
【问题描述】:
我不明白我的代码有什么问题,请在这里帮助我
db = this.getReadableDatabase();
String query = "SELECT SUM(" +COLUMN_AMOUNT+ ") FROM "+TABLE_NAME+";";
Cursor cursor = db.rawQuery(query, null);
double monthlyTotal = 0.110;
if(cursor.moveToFirst())
{
monthlyTotal = cursor.getDouble(0);// get final total
}
else
monthlyTotal = 0.110;
我总是得到monthlyTotal = 0.0,即使我已经将它初始化为0.110
请检查我的 onCrete() 代码是否正确
public void onCreate(SQLiteDatabase db) {
String CREATE_MONTHS_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + COLUMN_ID + " INT, " + COLUMN_DATE + " TEXT, " + COLUMN_AMOUNT + " DOUBLE, " + COLUMN_REASON + " TEXT" + ");";
db.execSQL(CREATE_MONTHS_TABLE);
}
【问题讨论】:
-
您的代码没有问题!确定您的表格中有任何行吗?
-
是的,我很确定,因为我使用 getCount() 来检查 getCount()0。所以我想我可以假设该行在我的数据库中可用。
-
检查表的 COLUMN_AMOUNT 列并打印所有行可能是错误的!并将 SUM(...) 更改为 sum(...)。我知道 SQL 不是 CS,但一定要这样做!
-
嘿实际上,我是 android 编程新手,所以你能用代码表达你所说的话,这对我来说会很棒。
-
将表格方案添加到您的问题中
标签: android sql sqlite android-sqlite aggregate-functions