这一句去掉试试:
stmt.executeUpdate("INSERT INTO a1"+"VALUES('calu','5555')");

解决方案 »

  1.   


    重新执行 Statement 对象之前,需要完成对当前 ResultSet 对象的处理。
      

  2.   

    rs.close();
    stmt.close;
    之后接着:
    stmt = con.createStatement();
    stmt.executeUpdate("INSERT INTO a1"+"VALUES('calu','5555')");stmt.close();
    conn.close();
      

  3.   

    楼主
    既然你是插数据按楼上的方法就可以了
    又不是取数据
    为什么要
    while(rs.next())
    {
      System.out.println("name: "+rs.getString(1)+
      ", phone: "+ rs.getString(2));
     }
    你没有select语句,怎么能取出数据来呢
    stmt.executeQuery(query);
    stmt.executeUpdate("INSERT INTO a1"+"VALUES('calu','5555')");
    ResultSet rs=stmt.getResultSet();
    这3句的顺序应该是
    或者是   
    stmt.executeUpdate("INSERT INTO a1"+"VALUES('calu','5555')");
    stmt.executeQuery(query);
    ResultSet rs=stmt.getResultSet();
    要保证ResultSet紧跟着executeQuery
      

  4.   

    1、语句顺序问题
      stmt.executeUpdate("INSERT INTO a1"
      +"VALUES('calu','5555')");
      stmt.executeQuery(query);
                               ResultSet rs=stmt.getResultSet();
    2、 Insert问题 
    如果按照1不行,把insert该成
    stmt.executeUpdate("INSERT INTO a1(字段1的名称,字段2的名称)"
      +"VALUES('calu','5555')");