如何验证用户使用SQLite数据库中的凭据输入的凭据

时间:2012-01-09 11:43:38

标签: android sql login

我现在正在处理Sample login application user loginusername passwordlogin buttonuser。如果username是新的,那么他/她也可以选择passwordregistration进行注册。这个应用程序的credentials部分有效。


我的实际问题是:如何将输入database的用户与SELECT中存储的用户进行比较。

我使用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); } 查询选择用户名和pwd作为此

username(un)

其中password(pwd)java file login.java来自另一个{{1}}。


现在请告诉我在成功登录后如何成功转换到viewprofile页面?

2 个答案:

答案 0 :(得分:1)

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
}

答案 1 :(得分:0)

最好的方法是使用游标,而不是行查询,

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