2013-07-14 5 views
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; 
} 
+0

Попробуйте распечатать размер курсора сначала в вашем логарифме. Если возможно, добавьте еще какой-нибудь код. Что такое «Упражнение упражнение = курсорToExercise (курсор),« Упражнение »? – GrIsHu

+0

Размер курсора равен 0. Но это должно быть 2. Пожалуйста, помогите мне, что не так в запросе – user2580525

+0

Отправьте еще какой-нибудь код. – GrIsHu

ответ

0

Ваши данные в базе данных является exercise_mechanic=Isolation

в то время как

ваш запрос exercise_equipment=Isolation

exercise_mechanic = 'Beginner' 

Ваш запрос неправильно. S

Смежные вопросы