源程序如下:
strSQL = "select ID from BBSBOARD";
conn = CPoolCommon.getConnection();
stmt = conn.prepareStatement(strSQL);
rs = stmt.executeQuery();
strSQL1 = "update BBSBOARD set LIMIT=0 where ID=?";
stmt1 = conn.prepareStatement(strSQL1);
while(rs != null && rs.next())
{
stmt1.setInt(1,rs.getInt(1));
stmt1.addBatch();
} int insertarr[] = stmt1.executeBatch();
int insernums = 0;
//out.println("insertarr.length:"+insertarr.length);
for (int i = 0; i < insertarr.length; i++)
{
insernums += insertarr[i];
}
out.println("insernums:"+insernums);使用executeBatch()返回的是一个负数的数组,insernums=-82,共有41条sql语句加入到批处理中.高手帮忙找下原因.提供方向也行,我自己找!~~
strSQL = "select ID from BBSBOARD";
conn = CPoolCommon.getConnection();
stmt = conn.prepareStatement(strSQL);
rs = stmt.executeQuery();
strSQL1 = "update BBSBOARD set LIMIT=0 where ID=?";
stmt1 = conn.prepareStatement(strSQL1);
while(rs != null && rs.next())
{
stmt1.setInt(1,rs.getInt(1));
stmt1.addBatch();
} int insertarr[] = stmt1.executeBatch();
int insernums = 0;
//out.println("insertarr.length:"+insertarr.length);
for (int i = 0; i < insertarr.length; i++)
{
insernums += insertarr[i];
}
out.println("insernums:"+insernums);使用executeBatch()返回的是一个负数的数组,insernums=-82,共有41条sql语句加入到批处理中.高手帮忙找下原因.提供方向也行,我自己找!~~
解决方案 »
- SWT线程问题
- 请教高手,java项目一会能跑起来,一会跑不起来是为什么?
- 如何从指定路径开始创建JTree?
- 如何复制某个jar或zip文件中的一个目录?
- 求救:如何找出所有三位数中个、十、百位数的立方和等于该数本身的三位数?
- strts-config.xml配置
- 大量Java入门资料,jdk安装配制、swing技巧等
- java和.net哪个从各类型系统(比如说sap,notes……)中取数据并将数据转换成财务报表兼容性好一些?
- 晕,J2RE不能安装!!!
- 那位大虾用过JNDI编写Windows的DNS(活动目录)!!!
- 使用DriverManager来获取数据库连接和使用DataSource来获取连接有什么不同?
- Hashtable怎么取得vlaue
可以这样用:
strSQL1 = "update BBSBOARD set LIMIT=0 where ID=?";
stmt1 = conn.prepareStatement(strSQL1);
while(rs != null && rs.next())
{
stmt1.setInt(1,rs.getInt(1));
stmt1.addBatch();
}
将stmt1.addBatch()改为stmt1.executeUpdate(),它有返回值。
要么,你就将strSQL1在循环里写成hard code.
再调用stmt1.addBatch(strSQL1)
OK?