私はjavaプログラムを使い慣れています。私は、EclipseとMySQLを使用してログインインターフェイスを使用してJavaプログラムを作成しました。一度私はログインを正常に2または3回メッセージを繰り返してログインします。メインインターフェイスの2倍の開きがあります。ここに私のコードです。ソリューションを探して。Javaログインエラー
JButton btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
String query = "select * from xyzlibrary.user_account";
Statement st = con.createStatement();
ResultSet rs=st.executeQuery(query);
while (rs.next()) {
String username= rs.getString(1);
String password= rs.getString(2);
if (tfusername.getText().equals(username) && tfpasswordField.getText().equals(password)) {
JOptionPane.showMessageDialog(null, "Login successfull!");
Admin ad = new Admin();
ad.setVisible(true);
dispose();
}else
JOptionPane.showMessageDialog(null, "Incorrect User ID or Password!");
}
} catch (Exception e) {
// TODO: handle exception
}
}
});
btnLogin.setBounds(125, 187, 89, 23);
contentPane.add(btnLogin);
データベースのすべての*ユーザーレコードに対してチェックしています。代わりに、WHERE句をSQLに追加して、一致するユーザーレコード(または失敗したログインの場合はレコードなし)のみを返すことを検討してください。 – David
1つ以上の結果を返す可能性が高い。ログインを確認したら、whileループを手動で終了する必要があります。 – scrappedcola