[英]How to verify username and password in Java-mysql?
如何以最正確的方式驗證用戶輸入數據庫的用戶名和密碼?
In c++, we used to verify by using if-else:
if((user == "username")&&(pass == "password")){
cout<<"You are now logon!";
}
在java-mysql中我不確定我是否在正確的軌道上:
登錄按鈕
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
user = jTextField1.getText();
pass = jPasswordField1.getPassword();
login();
}
方法/函數
private void login() {
try {
if (user != null) {
sql = "Select * from users_table Where username='" + user + "'";
rs = stmt.executeQuery(sql);
rs.next();
username = rs.getString("username");
password = rs.getString("password");
}
}
catch (SQLException err) {
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
如果用戶輸入的用戶名和密碼與數據庫中的用戶名和密碼匹配,那么他將被定向到新的jFrame else消息對話框將彈出說無效的用戶名或密碼。 有人可以幫助我使用我的代碼,我不知道如何使用mysql的if-else語句;
謝謝! :)
實現以下代碼:
private void login() {
try {
if (user != null && pass != null) {
String sql = "Select * from users_table Where username='" + user + "' and password='" + pass + "'";
rs = stmt.executeQuery(sql);
if (rs.next()) {
//in this case enter when at least one result comes it means user is valid
} else {
//in this case enter when result size is zero it means user is invalid
}
}
// You can also validate user by result size if its comes zero user is invalid else user is valid
} catch (SQLException err) {
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
你不必再對mySQL做任何事了。 您已擁有憑據。 一個例子:
if ((user.equals(username)) && (pass.equals(password))) {
JFrame newFrame = new JFrame();
} else {
JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
}
使用預准備語句以及像DButils這樣的庫可以大大簡化您的工作。
另外,不要使用替換傳遞參數,例如select name from members where code =?
。 如果您有許多參數,請創建一個對象數組並將它們傳遞給對象數組,例如Objects[] parms = {code1,code2}
。
if (username.length()>0 && password.length()>0)
{
String query = "Select * from adminlogin Where Username='" + username + "' and Password='" + password + "'";
rs = sta.executeQuery(query);
if (rs.next())
{
home hme=new home();
this.setVisible(false);
hme.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null,"username and password are wrong ");
}
}
else
{
JOptionPane.showMessageDialog(null,"please field username and password ");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.