0
Я сохранил данные в sqllite. Когда я извлекаю данные из базы данных с помощью SQL-запроса с предложением where. Это не дает никакого результата. Я проверяю, даже он должен вернуть две записи.Sqlite не извлекает данные при применении условия
данных в базе данных
exercise_main_muscle=Biceps exercise_equipment=Dumbbell exercise_name=Incline Dumbbell Curl exercise_mechanic=Isolation exercise_other_muscle=Forearms exercise_level=Beginner exercise_type=Strength
exercise_main_muscle=Biceps exercise_equipment=Dumbbell exercise_name=Hammer Curl exercise_mechanic=Isolation exercise_other_muscle=Forearms exercise_level=Beginner exercise_type=Strength`
Используя этот запрос:
select * from exercise where exercise_type = 'Strength' AND exercise_main_muscle = 'Biceps' AND exercise_other_muscle = 'Forearms' AND exercise_equipment = 'Isolation' AND exercise_mechanic = 'Beginner'
Код:
String sql = "select * from " + TABLE_EXERCISE + " where " + KEY_EXERCISE_TYPE + " = '" + exerciseType + "' AND "
+ KEY_MAIN_MUSCLE + " = '" + mainMuscle + "' AND " + KEY_OTHER_MUSCLE + " = '" + otherMuscle + "' AND "
+ KEY_EXERCISE_EQUIPMENT + " = '" + equipment + "' AND " + KEY_MECHANIC + " = '" + mechanic + "'";
Cursor cursor = db.rawQuery(sql, null);
cursor.moveToFirst();
while(!cursor.isAfterLast()) {
Exercise exercise = cursorToExercise(cursor);
exerciseList.add(exercise);
cursor.moveToNext();
}
db.close();
private Exercise cursorToExercise(Cursor cursor) {
Exercise exercise = new Exercise();
exercise.setID(cursor.getLong(0));
exercise.setExerciseName(cursor.getString(1));
exercise.setExerciseType(cursor.getString(2));
exercise.setMainMuscle(cursor.getString(3));
exercise.setOtherMuscle(cursor.getString(4));
exercise.setExerciseEquipment(cursor.getString(5));
exercise.setExerciseMechanic(cursor.getString(6));
exercise.setExerciseLevel(cursor.getString(7));
return exercise;
}
Попробуйте распечатать размер курсора сначала в вашем логарифме. Если возможно, добавьте еще какой-нибудь код. Что такое «Упражнение упражнение = курсорToExercise (курсор),« Упражнение »? – GrIsHu
Размер курсора равен 0. Но это должно быть 2. Пожалуйста, помогите мне, что не так в запросе – user2580525
Отправьте еще какой-нибудь код. – GrIsHu