当Statement 执行语句之后,如果又执行另一条语句,则前面执行所得到的ResultSet会关闭,你的代码执行逻辑:当第一次循环时,进入while循环,执行stmt.executeUpdate()
这时候会将rs关闭,所以当第二次进入循环时会得到ResultSet has closed

解决方案 »

  1.   

    ResultSet rs=stmt.executeQuery("select 单词 from d11");
    ResultSet rs1=stmt1.executeQuery("select 单词 from d10");
    while (rs.next())
    {int count=1;
    while(rs1.next())
    {
    System.out.println( rs1.getString("单词"));
            System.out.println( rs.getString("单词")); if (rs1.getString("单词")==rs.getString("单词"))

    {count=count+1;
    }

    }
          stmt2.executeUpdate("insert into d11(词频)values('"+count+"')");
    }
    我这一段代码说是no data found
    while(rs1.nxet())好像根本没有执行;
      

  2.   

    最好把错误代码贴出来。还有字符串内容的比较应该用equals方法: str1.equals(str2),返回boolean
      

  3.   

    while(rs1.next())并不是没有执行,而是if (rs1.getString("单词")==rs.getString("单词"))
    这个条件不对,用楼上说的方法吧。