2013-02-26 2 views
0

Я новичок в Android-SQLite. Я создал имя таблицы «Регистрация»:Android-check, если запись существует или нет

id FirstName LastName UserName Password Mobile 
0 Rakesh  L  rocky pw123 9600956892 
1 Ramesh  S  ram  wckt123 9600634845 
2 Vignesh A  vicky vky123 9380930489 
3 Balaji  B  bala ball123 9597735613 

Если я снова зарегистрироваться с тем же именем и паролем, он должен показать Тост. Я пробовал следующий фрагмент. Но мне не удалось.

DBHelper.getReadableDatabase(); 
      Cursor mCursor = db.rawQuery("SELECT * FROM " + DATABASE_TABLE + " WHERE username=? AND password=?", new String[]{username,password}); 
      if (mCursor != null) { 
       if(mCursor.getCount()!=0) 
       { 
        return true; 
       } 
      } 
     return false; 
} 

Пожалуйста, помогите мне с фрагментами кода.

+1

Что вы пробовали? – RobinHood

+0

db.rawQuery ("SELECT * FROM" + DATABASE_TABLE + "WHERE username = '" + имя пользователя + "' И пароль = '" + пароль + "'", null); – moDev

ответ

0

Проверка с помощью курсора, как показано ниже:

Cursor c = <YourDatabase>.rawQuery("SELECT * FROM " + DB_TABLE+ " WHERE " + FIELD + "= '" + VALUE + "'"); 
if(c == null) 
{ 
    //doesn't exists therefore insert record. 
} 
1

Попробуйте этот код ...

Вы просто проверить Курсор не нулевой после того, почему вы чекКоличество не 0.

Итак, что вы попробуете это ...

DBHelper.getReadableDatabase(); 

Cursor mCursor = db.rawQuery("SELECT * FROM " + DATABASE_TABLE + " WHERE username=? AND password=?", new String[]{username,password}); 

if (mCursor != null) 
{ 
       return true; 
    /* record exist */ 
} 
else 
{ 
      return false; 
    /* record not exist */ 
} 
+0

Ну, на самом деле нужно считать не 0. В не существующих строках курсор не равен NULL, поэтому этого недостаточно. – Ixx

+0

Хотя я использую запрос вместо rawQuery, возможно, это имеет значение. – Ixx

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