Java提示结果集关闭

intdanxscore=0;intduoxscore=0;inttkscore=0;intscore=0;Connectioncon;ResultSetrs1=null... int danxscore=0;
int duoxscore=0;
int tkscore=0;
int score=0;

Connection con;
ResultSet rs1=null;
ResultSet rs2=null;
Statement sql=null;
Statement sqa=null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException event){}

try{
con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=ksxt","sa","123456");
sql=con.createStatement();
String condition1="select biaoti,daan from danxuan ";
String condition2="select * from danxda";
rs1=sql.executeQuery(condition1);

if (rs1!= null) {
while(rs1.next()){

String s1=rs1.getString(1);

out.println(s1);
rs2=sql.executeQuery(condition2);
while(rs2.next())
{
String s2=rs2.getString(1);
out.println(s2);
if(s1.equals(s2))
{
if(rs2.getString(2).equals(rs1.getString(2)))
{
out.println(s1);
out.println(s2);
danxscore+=6;
}
}
}
}

} else{
out.println("无数据");}
out.println(danxscore);
//con.close();
}catch(SQLException e){
out.println(e);
}

输出:1 1 com.microsoft.sqlserver.jdbc.SQLServerException: 结果集已关闭。
展开
 我来答
pc秋月
推荐于2017-11-25 · TA获得超过157个赞
知道答主
回答量:104
采纳率:0%
帮助的人:105万
展开全部
一个ResultSet对象与Statement对象关联,所以你的代码中得到第2个ResultSet对象的语句rs2=sql.executeQuery(condition2);是错误的,它会导致前一个ResultSet对象即rs1被关闭,应改成:
Statement st2=con.createStatement();
rs2=st2.executeQuery(condition2);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式