Android проверяет, существуют ли 2 записи с использованием базы данных - PullRequest
0 голосов
/ 04 июля 2018

У меня есть функция, которая работает правильно, когда я проверяю имя пользователя. Когда я проверяю пароль, он всегда ложный.

public boolean checkIfUser(String userName, String password){

        //validate user if the user exists return true.
        SQLiteDatabase db = this.getReadableDatabase();
        String query ="select * from user_table where user_name = "+"\""+userName+"\"";
        //String query ="select * from user_table where password = "+"\""+password+"\"";

        Cursor cursor = db.rawQuery(query,null);
        if(cursor.getCount() <=0){
            return  false;
        }
        return true;

    }

Для проверки пароля я изменил строку на

   String query ="select * from user_table where password = "+"\""+ password +"\"";

Есть идеи, что может быть причиной этой ошибки?

Ответы [ 3 ]

0 голосов
/ 04 июля 2018

Попробуйте это

SELECT * FROM " + Table_NAME + " WHERE (" + COL2_PASSWORD + " = \'" + password + "\')";
0 голосов
/ 04 июля 2018

Вы должны попытаться подтвердить свою регистрационную информацию следующим образом:

String[] selectionArg = new String[]{userName, password};
String query ="select * from user_table where user_name = ? and password = ?";
Cursor cursor = db.rawQuery(query,selectionArg);
 if(cursor.getCount() <=0){
    return  false;
}
return true;
0 голосов
/ 04 июля 2018

Попробуйте использовать

String query ="select * from user_table where user_name = "'"+userName+"'"; String query ="select * from user_table where password = "'"+password+"'";

Это может помочь

...