ブール値を使用する次の関数を使用しています。
int recFound=0;
public Boolean CheckUser(String uName,String password)
{
try
{
statement=conn.createStatement();
resultSet=statement.executeQuery("select count(*) from UserMaster where username LIKE'"+uName+"' and password LIKE'"+password+"'");
if(resultSet.getRow()>0)
{
recFound=1;
}
else
{
recFound=0;
}
}
catch (Exception e) {
e.printStackTrace();
recFound=0;
}
if(recFound == 0)
{
return false;
}
else
{
return true;
}
}
私はこの関数を次の方法で呼び出しています:
boolean isValidUser=con.CheckUser(etLoginID.getText().toString(), etPassword.getText().toString());
if(isValidUser)
{
Intent i= new Intent(getApplicationContext(),Messages.class);
startActivity(i);
}
この関数に適切な値を渡すと、作成されませんrecFound=1;
そして最後の条件ではrecFound==0なのにelse条件に入り真を返します。
ただし、この値を呼び出し元関数の戻り値に割り当てると、false が割り当てられます。
boolean isValidUser=con.CheckUser(etLoginID.getText().toString(), etPassword.getText().toString());
を falseにすることを意味します。
isValidUser should get true in such case.
私を助けてください。