проблема с курсором списка просмотра Android - PullRequest
0 голосов
/ 23 ноября 2010

из моего main.java:

    Cursor c = db.getDue();

    String[] columns = new String[] { "_id", "date" };  

    int[] to = new int[] { R.id.num, R.id.date };

    SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
            R.layout.lventer, c, columns, to);
    ListView lv1 = (ListView)findViewById(R.id.ListView01);

    lv1.setAdapter(mAdapter);

Из моего класса базы данных оболочки:

    public Cursor getDue() {
    //String getdue = "SELECT * FROM tb1"; // this returns _id+date and displays them in the listview via the cursor adapter, defined above
    String getdue = "SELECT _id, max(date) AS date FROM tb1 GROUP BY _id";// this only works if I remove the "date" bindings defined above, only letting me see the _id, i want to see both _id and date in the lit view.

    return db.rawQuery(getdue,null);

Если я использую вторую контрольную отметку, то происходит сбой, если я не удаляю «дату» из привязок адаптера / списка просмотра курсора, если я делаю это, то он показывает возвращенный _id в списке, но я хочу видеть оба _id и дата в списке.

Мне сказали, что вторая статистика может возвращать другой тип для даты из-за функции max (я еще не очень хорошо разбираюсь в sql), но я подумал, что sqlite был свободен с типами данных? Кто-нибудь может помочь, заранее спасибо.

** ОБНОВЛЕНИЕ ** Это команда, которая не будет работать с 2 столбцами из списка:

 SELECT _id, max(date) FROM jobs GROUP BY _id HAVING max(date) < (date-21)

1 Ответ

2 голосов
/ 23 ноября 2010

Используйте это:

String getdue = "SELECT _id, max(date) AS date FROM tb1 GROUP BY _id";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...