我正在申请。有一个登录页面,用户在该页面的编辑文本字段中输入用户名。然后将其传递给我的 databasehelper 类中的函数,该函数根据所有用户名所在的表中的条目检查用户名。
这是我在我的 databasehelper 类中为验证编写的函数:
public String verify_user(String is_user)
{
String verify = " ";
String check = " ";
SQLiteDatabase fg = this.getReadableDatabase();
Cursor c = fg.query(Login_Table, null, null, null, null, null, null);
int iuser = c.getColumnIndex(colUsername);
for(c.moveToFirst() ; !c.isAfterLast();c.moveToNext())
{
verify = c.getString(iuser);
if(is_user == verify)
{
check = "Valid User!";
}
else
{
check = "Not Valid User!";
}
}
return check;
}
is_user 来自用户输入用户名的 .xml 布局文件......当我调试时,我发现了一个奇怪的行为。尽管在条件 is_user 和 verify 在某一点上具有相同的值,但仍然执行 else。所以我知道用户是有效的,这段代码说无效用户!. 请引导我完成。谢谢你!
来自一个新的建议:
String check = " ";
SQLiteDatabase fg = this.getReadableDatabase();
String[] args = new String[1];
args[0] = is_user;
Cursor c = fg.query(Login_Table, null, colUsername + " = ?", args, null, null, null);
int iuser = c.getColumnIndex(colUsername);
if(is_user.equals(c.getString(iuser)))
{
check = "Valid User!";
}
return check;