1

这是 jFrame 按钮上的编码,一个简单的登录表单,用户名和密码验证工作正常,但如果其他条件不执行,如果你们中的任何人在这里帮助我,请给我一个提示

String u_id=jTextField1.getText();
String p_word=jPasswordField1.getText();
        try
        {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; databaseName=LoginForm; user=sa; password=aptech");
        Statement st=con.createStatement();
        ResultSet result=st.executeQuery("select pass_word from employee where user_name='"+u_id+"'  ");

         if(result.next())
        {

          String pwd =  result.getString("pass_word");

           if( p_word.equals(pwd))
           {
                jLabel4.setText("you are logged in");
           }
           else if (!p_word.equals(pwd))
           {
                jLabel4.setText("Your id password is Wrong");
           }

        }
        else 
        {
            jLabel4.setText("Enter your id password again");
            jTextField1.setText("");
            jPasswordField1.setText("");
        }       
     }            
     catch (ClassNotFoundException a)
     {
          System.out.println(""+a);
     }
     catch (SQLException s)
     {
          System.out.println(""+s);
     }
4

2 回答 2

0

你的代码比你需要的多十倍。改为执行此操作(伪代码):

请改用此查询:

select count(*)
from employee
where user_name = ?
and pass_word = ?

您将得到正好一行,返回一列。
该列的值将是10

你应该能够自己处理剩下的事情。

于 2013-02-20T13:20:22.133 回答
0

试试这个:

创建一个名为(我希望您正在使用和 IDE!)“Log.java”的新类,将以下代码复制并粘贴到该类中。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Log extends JFrame {

public static void main(String[] args) {
Log frameTable = new Log();
}

JButton Login = new JButton("Login");
JPanel panel = new JPanel();
JTextField txuser = new JTextField(15);
JPasswordField pass = new JPasswordField(15);

Log(){
super("Login Autentification");
setSize(300,200);
setLocation(500,280);
panel.setLayout (null); 


txuser.setBounds(70,30,150,20);
pass.setBounds(70,65,150,20);
Login.setBounds(110,100,80,20);

panel.add(Login);
panel.add(txuser);
panel.add(pass);

getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
actionlogin();
}

public void actionlogin(){
Login.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String puname = txuser.getText();
String ppaswd = pass.getText();
if(puname.equals("1") && ppaswd.equals("2")) {
newframe regFace =new newframe();
regFace.setVisible(true);
dispose();
} else {

JOptionPane.showMessageDialog(null,"Wrong Password or Username!");
txuser.setText("");
pass.setText("");
txuser.requestFocus();
}

}
});
}
}

然后,创建一个新类“newframe.java”,并用以下代码填充它:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class newframe extends JFrame {

public static void main(String[] args) {
newframe frameTabel = new newframe();
}

JLabel welcome = new JLabel("Welcome to a New Frame");
JPanel panel = new JPanel();

newframe(){
super("Welcome");
setSize(300,200);
setLocation(500,280);
panel.setLayout (null); 

welcome.setBounds(70,50,150,60);

panel.add(welcome);

getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

}

现在您应该可以开始了,如果有不清楚的地方,请随时询问或自己弄清楚,这个可爱的社区会尽力提供帮助。

于 2013-02-20T15:12:20.727 回答