Java中MySQL DB对象与字符串的比较

Java中MySQL DB对象与字符串的比较,java,mysql,boolean,Java,Mysql,Boolean,我正在开发一个程序来管理DB中的学生,我正在开发学生可以登录的部分,但由于某些原因,我无法让if语句为真。我认为这与我从数据库中得到的值有关,它是一个对象,而不是字符串。我尝试将其转换为字符串,但出现了一个错误,我是否可以比较这两个值?我的代码在下面,你可以看一下。我知道还有其他类似的问题,但我还没有找到任何解决方案。非常感谢 public void actionPerformed(ActionEvent e) { //int i; //String na

我正在开发一个程序来管理DB中的学生,我正在开发学生可以登录的部分,但由于某些原因,我无法让if语句为真。我认为这与我从数据库中得到的值有关,它是一个对象,而不是字符串。我尝试将其转换为字符串,但出现了一个错误,我是否可以比较这两个值?我的代码在下面,你可以看一下。我知道还有其他类似的问题,但我还没有找到任何解决方案。非常感谢

public void actionPerformed(ActionEvent e)
    {
        //int i;
        //String name;

        if(e.getSource()==logInButton)
        {
            String name="";
            String password="";

            name=inputField.getText();
            password=inputField2.getText();




            try {
                connection = DriverManager.getConnection(connectionString, username, pass);
                PreparedStatement statement = (PreparedStatement) connection.prepareStatement("SELECT * FROM students");
                data = statement.executeQuery();
                while(data.next()){
                    //login = data.getObject("student_id").equals(name) && data.getObject("password").equals(password);
                    if(data.getObject("student_id").equals(name) && data.getObject("password").equals(password))
                    {
                        System.out.println("login = true");
                        logInPanel.setVisible(false);
                        postLogInPanel.setVisible(true);
                    }

                }
            } catch (SQLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

        }
而不是做:

data.getObject("student_id");
尝试:

这是假设您的学生id字段是某种字符字段。此外,您还可以尝试使用

.equalsIgnoreCase //instead of .equals for username unless it is case sensitive...

首先,您需要像这样查询数据库

 SELECT * FROM students where username='THE ENTER USERNAME' and password='Entered password'
如果结果集的大小==1,则登录else无效凭据或用户不退出

对象的数据可以通过
data.getIntstudent\u id

如果回答了您的问题,请将其标记为正确,以便其他人可以直接参考:
 SELECT * FROM students where username='THE ENTER USERNAME' and password='Entered password'