con.setAutoCommit(false);
pre = con.prepareStatement(sqlStr);
pre.setString(1, number);
pre.addBatch();
int[] a =pre.executeBatch();for(int i=0;i<a.length();a++){
System.out.println(a[i]);
}同样是插入数具 返回 受影响行数 为啥 在另一个程序里就不好 使都气疯了  为啥呢 返回的 就是 受影响行数 为 1 

解决方案 »

  1.   

    SQL放到數據庫直接運行,效果如何
      

  2.   

    这个问题 该死的 我靠不同的是 在for 循环中 和 trycatch()中 
    放for循环 方面也是如此 我靠 疯了找半天了
      

  3.   

    楼主Commit了吗,这个还是很重要的
      

  4.   

    我能 不可 commit 吗  哥哥 呀 我都郁闷了 
      

  5.   

    楼主 你这里只 添加了一次   
    pre.setString(1, number);
    pre.addBatch();
    int[] a =pre.executeBatch();所以在执行pre.executeBatch();的时候就只有一条语句    你如果要进行批处理的话  你可以在构造方法中传入一个数组来 执行多条语句 
      

  6.   


     conn.setAutoCommit(false);
                PreparedStatement ps=conn.prepareStatement("use liu;");
                ps.execute();
                ps=conn.prepareStatement("insert into t3 values(?,?)");
               for(int i=0;i<10;i++){
                ps.setObject(1,"1");
                ps.setString(2, "l");
                ps.addBatch();
               }
                ps.executeBatch();
                conn.commit();
                System.out.println("成功!");