Cómo validar las credenciales introducidas por los usuarios con la de la base de datos SQLite

Ahora estoy trabajando en una Sample login application en la que el user puede login con su username y password pulsando el login button . Si el user es nuevo, puede registrarse también eligiendo username y password . Y esta parte de registration de aplicación funcionó.


Mi pregunta real es: ¿Cómo puedo comparar las credentials introducidas por el usuario con la que se almacenó en la database de database .

He utilizado la consulta SELECT para seleccionar el nombre de usuario y pwd como este

 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); } 

donde username(un) y password(pwd) proviene de otro java file login.java .


Ahora, por favor, dígame cómo haría una transición exitosa a la página de viewprofile después del inicio de sesión exitoso?

La mejor manera es utilizar el cursor, en lugar de las consultas de fila,

 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(); 

Puede utilizar el cursor con rawquery para validar el nombre de usuario y la contraseña en un método booleano

 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 
  • Android SQLite - selecciónArgs que no sean cadenas
  • Creación de una base de datos SQL de varias tablas en android
  • Compruebe si la consulta SQL ha tenido éxito en Android SQLite
  • ¿Cómo consultar la base de datos SQLite con dos condiciones?
  • Cómo construir una consulta SQLite a GROUP by ORDER?
  • Comprobación de Android cuando se actualizó la última vez
  • La manera más rápida y eficiente de pre-poblar la base de datos en Android
  • SQLite SUM y LIMIT no parecen funcionar juntos
  • ¿Qué caracteres no se pueden utilizar para valores en bases de datos SQLite?
  • Seleccione un primer carácter distinto basado en la columna de cadena
  • Android: SQLite, cursor.moveToNext () siempre devuelve false
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.