java.sql.SQLException: ResultSet is closed 5

classMysqlimplementsActionListener{publicvoidactionPerformed(ActionEvente){try{Class.... class Mysql implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException eee)
{
System.out.println(""+eee);
}
try
{
String ss=input.getText().trim();
con=DriverManager.getConnection("jdbc:odbc:student");
st=con.createStatement();
String sql="select * from ScoreInfo where ID='"+ss+"'";
ResultSet rs=st.executeQuery(sql);
while(rs.next())
{

String number=rs.getString("ID");

String name=rs.getString("name");
String clas=rs.getString("class");
int chinese=rs.getInt("Chinese");
int english=rs.getInt("English");
int math=rs.getInt("Maths");
show.setText("你删除了:\n");
show.append("学号:"+number+"\n姓名:"+name+"\n班级:"+clas+"\n语文"+chinese+"\n英语 "+english+"\n数学 "+math);
show.append("\n");
sql="delete * from ScoreInfo where ID='"+ss+"'";
st.executeUpdate(sql);

}

}
catch(SQLException ee)
{
JOptionPane.showMessageDialog(Delete.this, "学号不存在","提示对话框",1);
System.out.println(ee);
}

}
}
}
我可以成功删除数据 为什么删除成功后 还是弹出学号不存在的对话框;且提示java.sql.SQLException: ResultSet is closed错误,我想让它能catch到异常,而且正常修改 怎么办啊 求大神!!数据库用的是access
展开
 我来答
oliverpp
2013-07-12 · TA获得超过988个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:649万
展开全部
因为你用同一个Statement执行了第二次execute,这个时候就会自动关闭第一次查询的ResultSet,所以删除之后再次循环到while那句的时候,rs已经被关,执行rs.next()时候就抛出异常了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式