在登录表单中检查数据库值中的用户名和密码,如果正确显示吐司为“欢迎”,如果错误显示吐司为“不正确”。但在我的编码中如果密码错误则吐司将显示。
如果我的数据库为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();
}
}
});
答案 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();