私は周りを検索しましたが、私の問題を解決できる答えが見つからないようです。ユーザーがログインした場合、データベースで確認し、ユーザー名とパスワードがデータベースで一致する場合は次のページに移動する必要があることを確認しようとしています。以下の次のコードを使用すると、ユーザー名とパスワードが一致しない場合でもログインできるため(ユーザー名が間違っているのにパスワードが正しい場合)、どこで間違ったのかわかりませんが、パスワードが間違っている場合(ユーザー名が正しいか間違っているかは関係ありません)、私が設定したエラーメッセージが表示されます。パスワードだけが読み取られ、ユーザー名はすでに上書きされているためですか?AndroidとJavaは初めてなので、助けてください。どうもありがとう!
$ public void run()
{
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Query query = new Query();
query.select("x.username, x.password");
query.from("AccountLogin", "x");
AttributeTest ts = new AttributeTest();
ts.setOperator(AttributeTest.EQUAL);
ts.setAttribute("username");
ts.setValue(un.getText());
ts.setAttribute("password");
ts.setValue(pw.getText());
query.setTestCriteria(ts);
QueryResultSet qs = FinalDB.executeQuery(query);
if (!qs.isEmpty()) {
Intent goToNextActivity = new Intent(FinalActivity.this, HomePage.class);
startActivity(goToNextActivity);
} else {
error.setText("Login failed. Username and/or password doesn't match.");
}
}
});
}
});
}
}).start();
}
}