android SELECT MAX不起作用

时间:2011-06-02 11:11:19

标签: java sqlite

我已经在SQLite中测试了这个选项并且它可以工作但是,当我在Android中使用它时,它返回0.

我哪里错了?

谢谢!

final String idauto = bundle.getString("idtabella");

DatabaseHelper databaseHelper = new DatabaseHelper(this);

final SQLiteDatabase db = databaseHelper.getReadableDatabase();
final Cursor cursordati = db.rawQuery("SELECT MAX('in_auto') AS in_auto "
    + "FROM inout WHERE id_auto ='" + idauto + "'", null);

final int  Ingressi = cursordati.getColumnIndex("in_auto");  
if(cursordati.moveToFirst()){  
    TextV.append("iprova: "+ Ingressi); 
    do {
        TextV.append("dprova: "+ Ingressi); 
    } while (cursordati.moveToNext());
    TextV.append("wprova: "+ Ingressi); 
}

2 个答案:

答案 0 :(得分:3)

刚刚放

cursordati.moveToFirst();

final int  Ingressi = cursordati.getInt(0);

有效:)

答案 1 :(得分:0)

我不确定你为什么遇到问题。您要求列 index 用于只包含一列的查询。由于索引从零开始,因此 将为零。

如果您想获取max(in_auto)的实际而不是其索引,您应该尝试:

final int  Ingressi = cursordati.getInt(cursordati.getColumnIndex("in_auto"));

或者可能只是:

final int  Ingressi = cursordati.getInt(0);

没关系,只要你记得检查,如果你修改了查询,可能会改变它。