是最后的两句mystmt.execute(mysqlstr);sqlstmt.execute(sqldelstr);都能之行吗?

解决方案 »

  1.   

    是的,最后的两句mystmt.execute(mysqlstr);sqlstmt.execute(sqldelstr);都能正确被执行,因为我在数据库里已经看到了执行后的结果,是正确的61行的代码是:while (RS.next())
      

  2.   

    你在最后面加上RS.beforeFirst();试一下
      

  3.   

    你的while(true)的循环结束怎么控制了????
      

  4.   

    A ResultSet object is automatically closed when the Statement object that generated it is closed, re-executed, or used to retrieve the next result from a sequence of multiple results.
    上面这段话摘自JDK1.4的对RESULTSET类的文档,
    你的RS依赖于sqlstmt,但是你却把它丢掉去重新执行了一条语句。
    不知道你的程序还有没有问题,
    不过你这样来执行SQL语句实在很危险,
    谁也不能保证一眼就看清楚你在干嘛,
    所以程序结构上请重新考虑下,
      

  5.   

    第一次进行以后rs,stmt都要关,你没有关,会出错的,
      

  6.   

    打错了,是在循环里面每用一次rs,在循环最后都应该 rs.close(),rs不能这样重复利用
      

  7.   

    Statement重新执行了,原先执行的查询结果集RS自动关闭,所以报异常,建议多建几个Statement