Android SELECT MAX не работает - PullRequest
0 голосов
/ 02 июня 2011

Я протестировал этот выбор в 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 ]

3 голосов
/ 08 февраля 2012

Просто поставьте

cursordati.moveToFirst();

перед

final int  Ingressi = cursordati.getInt(0);

Работает:)

0 голосов
/ 02 июня 2011

Я не уверен, почему у вас возникли проблемы. Вы запрашиваете столбец index для запроса с ровно одним столбцом. Поскольку индекс начинается с нуля, вы получите ноль.

Если вы хотите получить действительное значение из max(in_auto) вместо его индекса, вам, вероятно, следует попробовать:

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

или, возможно, просто:

final int  Ingressi = cursordati.getInt(0);

было бы хорошо, если вы помните, чтобы проверить и, возможно, изменить его, если вы когда-нибудь измените запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...