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
.
- Aplicación Android phonegap que tiene problemas con SQlite y almacenamiento local en dispositivos Samsung Galaxy
- Error de Android sql al usar SUM
- Recibe una notificación cuando cambie la base de datos Android
- Android cursor cómo obtener valores nulos de columnas
- Cursor SQLLiteDataBase de Android que devuelve 0 filas
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?
- Shell de salida Android de sqlite
- Colocación de varias tablas / columnas en un archivo CSV
- Android - ¿Existe la base de datos SQLite?
- ¿Cómo puedo actualizar un valor de columna de la base de datos android sqlite a null usando ContentValues?
- SQLite de Android - ¿por qué mi DB se vuelve a crear cada vez?
- Problema de orden de consultas SQLite de Android
- Android - SQLiteException: near "=": error de sintaxis (código 1)
- androide sqlite cómo ordenar por el tiempo
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
- Cómo escalar el video en un SurfaceView más grande que la ventana en Android?
- ¿Cómo volver a la misma instancia de actividad después de reanudarla?