用SQL实现Java登录表单

用SQL实现Java登录表单,java,mysql,Java,Mysql,我试图用Java和MySQL(WAMP服务器和Netbeans)开发一个登录表单,但它不起作用。当我用正确的信息填写表单并发送时,它总是告诉我用户不存在 这是第一类Connector.java: package BDD; // public class Connector { private Connection conn; private Statement st; private ResultSet rs; public Connection getConnection (){

我试图用Java和MySQL(WAMP服务器和Netbeans)开发一个登录表单,但它不起作用。当我用正确的信息填写表单并发送时,它总是告诉我用户不存在

这是第一类Connector.java:

package BDD; 
//
public class Connector {
private Connection conn;
private Statement st;
private ResultSet rs;

public Connection getConnection (){
    try{
        Class.forName("com.mysql.jdbc.Driver");
    }
    catch(ClassNotFoundException e){
        System.err.println(e);  
    }
    try {
        conn= (Connection) 

    DriverManager.getConnection("jdbc:mysql:
    //localhost:3306/ges_article","root","");

    } catch (SQLException e) {
         System.err.println(e);//afficher erreur
    }
     finally{
        return conn;
    }
   }

public ResultSet searchQuery (String sql){
    try {
        getConnection();
        st=conn.createStatement();
        rs=st.executeQuery(sql);

    } catch (SQLException e) {
       System.err.println(e);

    }
    return rs;
}
 }
这是第二个类authentication.java:

//
public class Authentification extends javax.swing.JFrame {
  //                
private void initComponents() {
   //
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    try {
        Connector db = new Connector();
        String user, password;
        user = jTextFieldLogin.getText();
        password =  jTextFieldPassword.getText();
        ResultSet rs = db.searchQuery("SELECT * FROM user WHERE login='"+user+"' AND password='"+password+"'" );
        if(rs.isBeforeFirst()){       
            System.out.println("utilisateur existant");
        }
          else{
            System.out.println("utilisateur inexistant");
              }
        }
    catch(Exception e){
        System.out.println("Error " + e.getMessage());
    }
}   
 //
}
rs.isBeforeFirst()

我还鼓励使用


考虑阅读有关的内容。您的应用程序易受攻击。还请显示您的
用户
表的内容以及您在
jTextFieldLogin
中提供的输入。它没有从数据库中找到数据,并且总是显示“利用我们的不确定性”
Connector db = new Connector();
try (Connection conn = db.getConnection()) {
    String user, password;
    user = jTextFieldLogin.getText();
    password = jTextFieldPassword.getText();
    PreparedStatement ps = conn.prepareStatement("SELECT * FROM user WHERE login=? AND password=?");
    ps.setString(1, user);
    ps.setString(2, password);
    ResultSet rs = ps.executeQuery();
    if (rs.next()) {
        System.out.println("utilisateur existant");
    } else {
        System.out.println("utilisateur inexistant");
    }
} catch (Exception e) {
    System.out.println("Error " + e.getMessage());
}