gpt4 book ai didi

java - 为什么 ResultSet 不为空,但我无法从 ResultSet 中获取数据

转载 作者:行者123 更新时间:2023-12-01 00:24:55 26 4
gpt4 key购买 nike

public List<Course> searchCourse(String name) {
List<Course> list = null;
Course course = null;
PreparedStatement pstmt = null;
ResultSet rs = null,rs1 = null;

String sql = "select username,course_name from view_teacourse where username=? or course_name=? ";

try{
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, name);
rs = pstmt.executeQuery();
while(next()){
String sql1 = "select * from courseinfo where course_name=?";
pstmt.setString(1, rs.getString("cousre_name"));
rs1 = pstmt.executeQuery();
while(rs1.next()){
course.setCourseid(rs.getInt("course_id"));
course.setCourseName(rs1.getString("course_name"));
course.setCourseScheme(rs.getString("course_scheme"));
course.setCourseBook(rs.getString("course_book"));
course.setCourseTerm(rs.getString("course_term"));
course.setIntroduction(rs.getString("introduction"));
course.setStartTime(rs.getTimestamp("start_time"));
course.setEndTime(rs.getTimestamp("end_time"));
course.setValidation(rs.getBoolean("validation"));
course.setCourseType(rs.getInt("coursetypeid"));
list.add(course);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
DBBase.releaseResultSet(rs1);
DBBase.releaseResultSet(rs);
DBBase.releaseStatement(pstmt);
DBBase.releaseConnection(conn);
}
return list;
}

rs.next() 的值越来越假。它不能进入​​ while 循环。但是如果我写 rs.wasNull() 那么我又得到了 false。所以我很困惑。我可以在我的数据库中使用相同的 SQL 获得正确的结果。当它在 java 文件中时,它不起作用!我找不到哪里错了!

最佳答案

while(next()){ 需要是 while(rs.next()){,不是吗?

(是的,但是@duffymo 的回答是你应该注意的)

关于java - 为什么 ResultSet 不为空,但我无法从 ResultSet 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16146433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com