我已经在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);
}
答案 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);
没关系,只要你记得检查,如果你修改了查询,可能会改变它。