我用用循环往数据库中插入数据,并在循环体内写了out.print()语句,我希望每插入一条记录,就out.print("插入记录完成");
问题是:
运行时,并没有插入一条,就out.print()一次,而是循环完毕后,才一起out.print了,怎么才能实现插入一条,就out.print一次?
无论有没有方法,都请大虾告知一声.....

解决方案 »

  1.   

    我是楼主
    ------
    代码如下:
    for(int i=0;i<5;i++)
                   {
    pstmt=conn.prepareStatement(sql);  
    pstmt.setString(1, str);
    pstmt.executeUpdate();
    out.print("插入记录完成!"+"<br>");
                   }
      

  2.   

    java的机制从效率考虑,它会自动简化你的代码.你可以这样试试for(int i=0;i<5;i++)
                   {
    pstmt=conn.prepareStatement(sql);  
    pstmt.setString(1, str);
    boolean su=pstmt.executeUpdate();
    if(su){
    out.print("插入记录完成!"+"<br>");
    }else{
    out.print("插入记录失败!"+"<br>");
    }               }
    如果还不行有可能是你上面操作数据库的代码有问题,那就抛个异常看看.
      

  3.   

    for(int i=0;i<5;i++)
      {
        pstmt=conn.prepareStatement(sql);  
        pstmt.setString(1, str);    out.print("插入记录完成!"+"<br>");
      }
    pstmt.executeUpdate();
    你这样试试
      

  4.   

    for(int i=0;i<5;i++)
                   {
    pstmt=conn.prepareStatement(sql);  
    pstmt.setString(1, str);
    out.print("插入记录完成!"+"<br>");
    pstmt.executeUpdate();               }
      

  5.   

    我是楼主
    --------
    谢谢各位回帖,以上方法都试了,都不行啊贴出完整代码如下:<html>
    <head><%
    String readStr="啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊";
    String sql="insert into quanwen(mytext)values(?)";
    PreparedStatement pstmt=null; 
    Connection conn=null;
    DataSource ds = null;
     try{
    InitialContext ctx=new InitialContext();
    ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
    conn = ds.getConnection();
    for(int i=0;i<3;i++)
                   {
    out.print("开始!"+"<br>");
    pstmt=conn.prepareStatement(sql);
    pstmt.setString(1, readStr);
    pstmt.executeUpdate();
    out.print("结束!"+"<br>");
                   }    }
    catch(Exception ex)
        {
    System.out.println("出现例外,信息是:"+ex.getMessage());
    ex.printStackTrace();
        }
    finally 
         {
        try{  pstmt.close();    conn.close();}catch(Exception e) {}
         }
    %>
    </body>
    </html>
      

  6.   

    out.print以后调用一下out.flush();把缓冲区的数据写倒客户端即可。
      

  7.   

    foxty(狐狸糊涂) ( )
    ========
    还是不行啊,各种方法都试了,怎么还是不行呢?
      

  8.   

    我的理解是,可能因为数据没有提交引起的,你commit下
      

  9.   

    数据库里显示,数据的插入都成功了,没发现其他问题呀,再说我已扑捉了异常,jsp也没有提示出错,请大虾们看清我的问题阿....