2010-08-16 7 views
0

является нижеуказанным правильный кодAndroid - Правильно ли этот код?

public boolean checkRecipe(CharSequence recipename) throws SQLException 
    { 
     Cursor checkRecursor=rDb.query(true, DATABASE_TABLE, new String[]{KEY_TITLE}, 
       KEY_TITLE+"="+recipename, null, null, null, null, null); 
     if(checkRecursor!=null) 
      return true; 
     else 
      return false; 
    } 

Я пытаюсь проверить, присутствует ли в таблице или нет данная запись.

+0

Что rDb.query делать? Вы должны создать один курсор базы данных для своего класса и использовать его повсюду, создание нового курсора для каждого вызова - плохая идея. – fredley

+0

Я все это сделал. Пытался проверить, что какая-то запись находится в таблице под полем «title». Я получил эту ошибку, когда мне захотелось найти abc android.database.sqlite.SQLiteException: нет такого столбца: abc :, при компиляции: SELECT DISTINCT title FROM recipes WHERE title = abc –

+1

return (checkRecursor! = Null); –

ответ

0

Ваш RecipeName является строкой, вы должны поставить кавычки вокруг него

Cursor checkRecursor=rDb.query(true, DATABASE_TABLE, new String[]{KEY_TITLE}, 
      KEY_TITLE+"= '"+recipename + "'", null, null, null, null, null); 
+0

Я сделал это KEY_TITLE + "=" + "\" "+ recipename +" \ "" Спасибо fedj –

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