如何显示错误的登录Toast验证

时间:2014-08-18 11:23:39

标签: android sqlite login toast

在登录表单中检查数据库值中的用户名和密码,如果正确显示吐司为“欢迎”,如果错误显示吐司为“不正确”。但在我的编码中如果密码错误则吐司将显示。

如果我的数据库为null意味着什么类型的条件进行祝酒

我是Android的新手,我知道这是一个简单的问题,我尝试了很多。请帮助我

signin.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub


        Database db=new Database(Sin.this);



        SQLiteDatabase sb=db.getWritableDatabase();

        Cursor c=sb.rawQuery("select * from newuser",null);


        c.moveToFirst();

        for(int i=0;i<c.getCount();i++)

            {

                if((c.getString(1).toString().equalsIgnoreCase(un.getText().toString()))&&(c.getString(3).toString().equalsIgnoreCase(pass.getText().toString())))

                {

                    Toast.makeText(Sin.this, "Welcome "+c.getString(0),Toast.LENGTH_LONG).show(); 

                     finish();
                    Intent in=new Intent(Sin.this,MainActivity.class);

                    startActivity(in);


        }


                else 
        {
            Toast.makeText(Sin.this, "Invalid Credentials",Toast.LENGTH_SHORT).show(); 
        }


                 c.moveToNext();
    }


}
});

1 个答案:

答案 0 :(得分:0)

您的基本问题在于查询

String username = un.getText().toString();
    String pwd = pass.getText().toString();
    String query="select * from newuser where userName = "+"'"+ username+"'"+" and "+"password="+"'"+pwd+"'";
 Cursor c=sb.rawQuery(query,null);
  if(c.getCount()>0)
 {
   Toast.makeText(Sin.this, "Welcome "+c.getString(0),Toast.LENGTH_LONG).show(); 

                 finish();
                Intent in=new Intent(Sin.this,MainActivity.class);

                startActivity(in);
 }
 else 
    Toast.makeText(Sin.this, "Invalid Credentials",Toast.LENGTH_SHORT).show();