如何在java中从ResultSet中检索对象



所以我尝试创建一个getRecord类,根据用户输入的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;
}

为学生类创建一个对象,然后将其返回到主程序。然而,学生建设者也需要另一个程序对象。如何通过ResultSet从数据库中检索对象?我已经在这个问题上花了几个小时,并试图使用getObject,但它没有起作用。请引导我。TQ,祝你今天愉快。

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

我通过声明和初始化一个新对象,替换rs.getString("ProgrammeCode"(;到(新程序(rs.getString("ProgrammeCode"(((。

相关内容

  • 没有找到相关文章

最新更新