java - 将 MySQL DB 对象与 Java 中的字符串进行比较

标签 java mysql boolean

我正在开发一个在数据库中管理学生的程序,并且我正在开发学生可以登录的部分,但由于某种原因,我永远无法让 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");

尝试:

data.getString("student_id");

假设您的 Student_id 字段是某种 char 字段。您也可能想尝试使用进行比较

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

关于java - 将 MySQL DB 对象与 Java 中的字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27234576/

相关文章:

mysql - datetime(6) 适用于 XAMPP,但不适用于最新的 Ubuntu MySQL 服务器

php - 将 mysql 代码转换为 codeigniter

java - 我可以在模块 B 上重写模块 A 的方法吗?

java - 在 Mac OS 上使用 Java 将一些输入发送到终端窗口

php - 如何创建一个后端系统,用于在上传图像之前向图像添加超链接和标题

c++ - 结构中带有类的链表无法使 bool 操作正常工作

c++ - 为什么总是得到相同的 boolean 值?

c++ - 为什么在 boolean 值上使用两个 '!' 运算符?

java - mapstruct 映射实体 OneToMany 到 DTO 和反向

java - java.math.MathContext 的使用