Проблемы с курсором QUERY внутреннего соединения базы данных SQLite

Пользователь таблицы: идентификатор пользователя, имя пользователя, пароль, возраст, электронная почта, пол, рост, вес, ИМТ, ИМТ

Таблица потребления калорий: идентификатор пользователя, (DATE)дата потребления, день потребления, калории;

Я пытаюсь выбрать калории из таблицы пользователя INNER JOIN table Cal In ON user. uid == Cal.userid, где userid =? и текущая дата =?

Вот запрос:

public CalorieIntake getuserIntake(int id, Date currentdate) {
    CalorieIntake calorieIntake = null;
    SQLiteDatabase db = getReadableDatabase();
    final String UserintQuery = "SELECT " + KEY_CALORIES + " FROM "
            + TABLE_CALORIE_INTAKE + " c " + " INNER JOIN " + TABLE_USERS + " u " +
            "ON" + " c." + KEY_USER_ID + " = u." + KEY_U_ID + " WHERE u." + KEY_U_ID + " =? AND " + KEY_INTAKE_DATE + " =?";
    Cursor cursor;
    cursor = db.rawQuery(UserintQuery, new String[]{String.valueOf(id), currentdate});

    if (cursor.getCount() < 0) {
        cursor.moveToFirst();
        assert cursor != null;
        calorieIntake = new CalorieIntake(cursor.getInt(0),cursor.getDate??,
                cursor.getString(2),
                cursor.getDouble(3));


    }
    cursor.close();
    return calorieIntake;
}

я поставил два ?? рядом с cursor.getDate, чтобы выделить его, поскольку я не могу найти способ получить дату ввода.


person john smith    schedule 11.04.2015    source источник


Ответы (1)


Сохраните данные о дате в текстовом формате в этом формате -> «MM/dd/yyyy HH:mm:ss»

Затем используйте этот метод:

public static Date getDate(Cursor cursor, String colName)
            throws ParseException {
        int idx = cursor.getColumnIndex(colName);

        if (!cursor.isNull(idx)) {
            String strDate = cursor.getString(idx);
            SimpleDateFormat dateFormat = new SimpleDateFormat(
                    "MM/dd/yyyy HH:mm:ss");
            Date convertedDate = dateFormat.parse(strDate);

            return convertedDate;

        } else
            return null;
    }
person Bobs    schedule 11.04.2015
comment
Спасибо, это здорово, у меня есть один вопрос. Где вызвать метод? в операторе if? - person john smith; 11.04.2015
comment
Спасибо @breceivemail - person john smith; 11.04.2015
comment
@johnsmith почему (-1). это не твой ответ? - person Bobs; 11.04.2015
comment
@johnsmith, пожалуйста, выберите это как ответ - person Bobs; 11.04.2015