Java mysql中的登录表单

Java mysql中的登录表单,java,mysql,database,netbeans,login,Java,Mysql,Database,Netbeans,Login,我正在使用Mysql netbeans。我已经创建了一个db表“userdetails\u summertrainingproject”。在登录表单中,我需要填写两个文件,一个是“UUId_JTextField”,另一个是“Password1_JPasswordField”。我想比较用户输入的密码值是否与用户输入的特定UUId的db中的密码值相同。UUid是唯一的 try{ Class.forName("com.mysql.jdbc.Driver");

我正在使用Mysql netbeans。我已经创建了一个db表“userdetails\u summertrainingproject”。在登录表单中,我需要填写两个文件,一个是“UUId_JTextField”,另一个是“Password1_JPasswordField”。我想比较用户输入的密码值是否与用户输入的特定UUId的db中的密码值相同。UUid是唯一的

try{
                Class.forName("com.mysql.jdbc.Driver");
                Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","");
                    String query = "SELECT password FROM userdetails_summertrainingproject WHERE UUId=?;";
                    PreparedStatement preparedStatement = conn.prepareStatement(query);
                    preparedStatement.setString(1,UUId_JTextField.getText());
                    ResultSet rs = preparedStatement.executeQuery();
                    char[] password1 = Password1_JPasswordField.getPassword();
                    String pass1 = new String(password1);
                    if(rs.getString(query)==pass1){
                        JOptionPane.showMessageDialog(null, "Logged in successfully");
                    }
            }

            catch(Exception e){
                System.out.println("Exception in Login:"+e.getMessage());
            }
上面是我正在使用的代码。 例外情况是:

登录时出现异常:“从userdetails\u summertrainingproject中选择密码,其中UUId=?;”列没有找到


尝试此代码,您错过了
rs.next()

我认为最好使用另一种方法来获取连接字符串。否则,您必须一次又一次地编写下面的代码

Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/mysql", "root", ""); 
编辑:

public static void main(String[] args) {
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "root", "");
        String query = "SELECT UUId FROM userdetails_summertrainingproject;";
        PreparedStatement preparedStatement = conn.prepareStatement(query);
        ResultSet rs = preparedStatement.executeQuery();
        rs.next();
        String UUId = rs.getString("UUId");
        System.out.println("UUId " + UUId);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
创建一个类并添加此代码。然后检查此代码是否正常工作。 请确保端口、数据库名称、用户和密码正确

如果这是give
com.mysql.jdbc.CommunicationsException:通信链路故障
。很可能您的端口不正确

我正在使用这两个库

try{
      Class.forName("com.mysql.jdbc.Driver");
      Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","");
      String query="SELECT password FROM tryingtable WHERE name=?;";
      PreparedStatement prepstmt=conn.prepareStatement(query);
      prepstmt.setString(1,jtf.getText());
      ResultSet rs=prepstmt.executeQuery();
      rs.next();
      String result=rs.getString("password");;
      char[] pass = jpf.getPassword();
      String password1= new String(pass);
      if(result.equals(password1))
      JOptionPane.showMessageDialog(null, "go!!");
       else
       JOptionPane.showMessageDialog(null, "no!!");

    }

      catch(Exception e){
      System.out.println("Exception:"+e.getMessage());
      e.getStackTrace();
      }
当您想要比较密码字段和文本字段时,请使用

上面的代码将以字符串形式为您提供密码字段值,然后

if(pass_string.equals(textfield))
JOptionPane.showMessageDialog("Password match");
else
JOptionPane.showMessageDialog("Password did not match");

仍然存在相同的错误:登录:列“从userdetails\u summertrainingproject中选择密码,其中UUId=?;”中出现异常找不到。请检查:当我在计算机中运行此代码时,它正在工作。你可以把完整的堆栈跟踪错误消息。找出你出错的那一行,然后试着找出它为什么来自那一行。当你运行这段代码时,在弹出式日志成功登录的地方,代码的那一部分也工作了吗?。下面是当我尝试使用登录代码(代码的第二部分)异常链接时出现的总异常列表:请帮助我仅检查您的代码
如果
块包含部分。它工作正常。summertrainingproject.summertrainingproject$3.actionPerformed(summertrainingproject.java:322)322行是什么。这是您应该检查的线路。@SupunKavinda感谢您的支持。它真的帮助了我。
char[] pass_char = passwordField.getPassword();
String pass_string = new String(pass_char);
if(pass_string.equals(textfield))
JOptionPane.showMessageDialog("Password match");
else
JOptionPane.showMessageDialog("Password did not match");