中易网

JAVA 返回resultSet ResultSet rset=stmt.executeQuery(sql); 直接执行的语句能否返回结果集呢

答案:6  悬赏:0  
解决时间 2021-01-11 14:07
  • 提问者网友:心如荒岛囚我终老
  • 2021-01-10 14:54
JAVA 返回resultSet ResultSet rset=stmt.executeQuery(sql); 直接执行的语句能否返回结果集呢
最佳答案
  • 二级知识专家网友:逃夭
  • 2021-01-10 15:55
嗯嗯,ResultSet只是jdbc内部封装的一个接口而已,你用它来做方法的返回值,好像不行吧,呵呵,如果用list集合的话应该是这样的:这是我刚学java的时候写的,比较繁琐,希望对你有用哦,呵呵
public List queryAllEmployee() {//关键是方法的返回值的问题
List list = new ArrayList();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
conn = DBUtil.getConnection();
try {
pstmt = conn.prepareStatement("select*from employeeInfo");
rs = pstmt.executeQuery();
while (rs.next()) {
EmployeeInfo employee = new EmployeeInfo();
employee.setEmployeeID(rs.getInt("employeeID"));
employee.setIsLead(rs.getString("isLead"));
list.add(employee);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.closeAll(pstmt, rs, conn);
}
return list;//这里返回list集合就行了,呵呵
}
全部回答
  • 1楼网友:几近狂妄
  • 2021-01-10 21:51
10能游泳带吗
  • 2楼网友:罪歌
  • 2021-01-10 20:18
我平常编程用C sharp比较多,JAVA就不太熟悉,但也给些意见吧,希望可以帮到你啦
我觉得应该不可以吧,SQL语句有点问题
select * from TeacherToExperiment where TeacherID="+teacherID //等号后面应该用单引号括起要查找的内容
  • 3楼网友:底特律间谍
  • 2021-01-10 18:39
resultset 在statement 关闭后应该没有了吧,
自己试一下吧。
追问:如果在关闭之前返回ResultSet 行吗?就是想吧查询结果返回。
追答:不关闭是可以的,但如果关闭了ResultSet或者Statement都不能再在其它地方使用ResultSet.
  • 4楼网友:底特律间谍
  • 2021-01-10 18:32
可以返回结果集合的,前提是,不要关闭 rset.close();
这句话不能写在这里。
  • 5楼网友:蕴藏春秋
  • 2021-01-10 17:34
呵呵,应该是不可以的,你为什么不把返回类型设置成list集合呢,是一样的呀,难道你还有别的什么特别的要求或者功能吗?
追问:因为这几个类都是组长给发过来的,函数头都是写好的,所以我就按照她写的返回值来编的,能再讲细一些吗?为什么不可以,怎样才能返回resultSet结果集?如果改成你说的那个List应该怎么做呢?谢谢!
追答:嗯嗯,ResultSet只是jdbc内部封装的一个接口而已,你用它来做方法的返回值,好像不行吧,呵呵,如果用list集合的话应该是这样的:这是我刚学java的时候写的,比较繁琐,希望对你有用哦,呵呵
public List<EmployeeInfo> queryAllEmployee() {//关键是方法的返回值的问题
List<EmployeeInfo> list = new ArrayList<EmployeeInfo>();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
conn = DBUtil.getConnection();
try {
pstmt = conn.prepareStatement("select*from employeeInfo");
rs = pstmt.executeQuery();
while (rs.next()) {
EmployeeInfo employee = new EmployeeInfo();
employee.setEmployeeID(rs.getInt("employeeID"));
employee.setIsLead(rs.getString("isLead"));
list.add(employee);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.closeAll(pstmt, rs, conn);
}
return list;//这里返回list集合就行了,呵呵
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息