Как проверить учетные данные, введенные пользователями в базе данных SQLite - PullRequest
5 голосов
/ 09 января 2012

Я сейчас работаю над Sample login application, в котором user может login с их username и password, нажав login button. Если user является новым, то он / она также может зарегистрироваться, выбрав username и password. И эта registration часть приложения работала.


Мой актуальный вопрос: как сравнить введенного пользователя credentials с тем, который хранится в database.

Я использовал SELECT запрос, чтобы выбрать имя пользователя и pwd как это

public void ValidateLogin(String un, String pwd)
     {
        SELECT_FROM = "SELECT u_name, u_pwd FROM" + table_name + "WHERE u_name == " + un + "AND u_pwd ==" + pwd;
        db.execSQL(SELECT_FROM);
     }

, где username(un) и password(pwd) происходят от другого java file login.java.


Теперь скажите, пожалуйста, как мне сделать успешный переход на страницу viewprofile после успешного входа в систему?

Ответы [ 2 ]

1 голос
/ 30 января 2012
You can use `cursor` with `rawquery` to validate username and password in one boolean type of method

    public boolean ValidateLogin(String un, String pwd)
      {
        boolean chklogin=false;      
        c = db.rawQuery("SELECT u_name, u_pwd FROM " + table_name + " WHERE u_name = '"+ un + "' AND u_pwd ='"+ pwd + "'", null);

         if(c==null)
        {
            //set boolean var to false
               chklogin=false; 
           //message no such records 
         }

        else
         {
           //set boolean var to true 
               chklogin=true;
               c.moveToFirst(); 
         }

         return chklogin; //boolean var
}
0 голосов
/ 13 января 2012

Лучше всего использовать курсор вместо запросов строк,

String[] selectionArgs = {un,pwd};
Cursor cursor = db.query(table_name, {"u_name", "u_pwd"} , "u_name=? and u_pwd=?", selectionArgs , null, null, null);

if (cursor.moveToNext()){
    //Success
}else{
    //Failure
}
cursor.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...