繁体   English   中英

如何从 java 的 ResultSet 中取出一个 object?

[英]How to retrieve an object from ResultSet in java?

所以我尝试制作一个 getRecord class 来根据用户输入的 ID 从数据库中检索信息,

public Student getRecord(String id) {
        String queryStr = "SELECT * FROM " + tableName + " WHERE ID = ?";
        Student student = null;
        try {
            stmt = conn.prepareStatement(queryStr);
            stmt.setString(1, id);
            ResultSet rs = stmt.executeQuery();
            int count = 1;
            
            if (rs.next()) {
                String level = rs.getString("Level");
                char level1 = level.charAt(0);
                student = new Student(id, rs.getString("IC"), rs.getString("Name"), level1, rs.getObject("ProgrammeCode"), Integer.parseInt(rs.getString("Yr")));
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE);
        }
        return student;
    }

所以它运行查询并调用学生的构造函数,

public Student(String id, String ic, String name, char level, Programme programme, int year) {
        this.id = id;
        this.ic = ic;
        this.name = name;
        this.level = level;
        this.programme = programme;
        this.year = year;
    }

为学生 class 创建一个 object 然后返回给主程序。 但是,学生构造器还需要另一个 object 的程序。 如何通过 ResultSet 从数据库中检索 object? 我已经坚持了几个小时并尝试使用 getObject 但它没有用。 请指导我。 TQ,祝你有美好的一天。

感谢@Joop Eggen 找到了解决方案

我设法通过声明和初始化一个新的 object 来解决这个问题,替换 rs.getString("ProgrammeCode"); 到(新程序(rs.getString(“ProgrammeCode”)))。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM