2014-09-28 2 views
0

Я использую этот код, чтобы проверить, если строка существует в моей таблице:Как проверить, существует ли строка в таблице?

public boolean checkIdiomInFavorite(Idiom idiom){ 
     String query = "SELECT *" + " from " + IdiomsOpenHelper.TABLE_FAVORITE + 
       " where " + IdiomsOpenHelper.COLUMN_FAV_ID + " = ?;"; 
     Cursor cursor = database.rawQuery(query,new String[] { String.valueOf(idiom.getId()) }); 
     if(cursor.moveToNext()){ 
      return true; 
     } 
     else{ 
      return false; 
     } 
    } 

Но всегда я получаю false.
Любая идея?

ответ

1

Я бы заменить этот

if(cursor.moveToNext()){ 
     return true; 
    } 
    else{ 
     return false; 
    } 

с

return(cursor.moveToFirst()); 
+0

все еще получает ложным. –

+0

Существует ли запись в указанной таблице, с условием соответствия? –

+0

Да, я тестировал в базе данных, он возвращает запись. –

0

использовать код ниже:

public boolean checkIdiomInFavorite(Idiom idiom){ 
     String query = "SELECT *" + " from " + IdiomsOpenHelper.TABLE_FAVORITE + 
       " where " + IdiomsOpenHelper.COLUMN_FAV_ID + " = ?;"; 
     Cursor cursor = database.rawQuery(query,new String[] { String.valueOf(idiom.getId()) }); 
     if(cursor.moveToNext()){ 
      return true; 
     } 
     else{ 
      return false; 
     } 
    } 

может у способен обнаружить почтения? Я использую SELECT *, что означает все столбцы ... или используйте любое имя столбца, которое вы действительно имеете в этой таблице.

Вы также можете подсчитать полные строки таблицы, чтобы проверить, возвращает ли она 0 ... если возвращает 0, то данные не существуют.

1

Изменить эту строку запроса ...

String query = "SELECT *" + " from " + IdiomsOpenHelper.TABLE_FAVORITE + 
      " where " + IdiomsOpenHelper.COLUMN_FAV_ID + " = ?;"; 

... до ...

String query = "SELECT * from " + IdiomsOpenHelper.TABLE_FAVORITE + 
      " where " + IdiomsOpenHelper.COLUMN_FAV_ID = " + idiom.getId(); 

Затем измените эту строку ...

Cursor cursor = database.rawQuery(query,new String[] { String.valueOf(idiom.getId()) }); 

... к ...

Cursor cursor = database.rawQuery(query, null); 
Смежные вопросы