try{
conn= getConnection();
conn.setAutoCommit(false);
stm=conn.createStatement();
StringTokenizer st = new StringTokenizer(Sqls,split);
//sqls代表多条sql语句,以##分割
while (st.hasMoreTokens()) {
sql1= (st.nextToken()).trim();
if(!sql1.equals("")){
stm.addBatch(sql1);
}
}
stm.executeBatch();
conn.commit();
}
catch(Exception e){
System.out.println("update:"+Sqls);
try{
conn.rollback();
}
catch(Exception ex){
System.out.println("异常信息" + e.getMessage());
}
if(e.getMessage().indexOf("PRIMARY KEY")>0)
throw new DbUpdateException("PRIMARY KEY");
else
throw new DbUpdateException();
}
问题是,如果某条语句出错,为什么不回滚?有一部分数据插入表中
conn= getConnection();
conn.setAutoCommit(false);
stm=conn.createStatement();
StringTokenizer st = new StringTokenizer(Sqls,split);
//sqls代表多条sql语句,以##分割
while (st.hasMoreTokens()) {
sql1= (st.nextToken()).trim();
if(!sql1.equals("")){
stm.addBatch(sql1);
}
}
stm.executeBatch();
conn.commit();
}
catch(Exception e){
System.out.println("update:"+Sqls);
try{
conn.rollback();
}
catch(Exception ex){
System.out.println("异常信息" + e.getMessage());
}
if(e.getMessage().indexOf("PRIMARY KEY")>0)
throw new DbUpdateException("PRIMARY KEY");
else
throw new DbUpdateException();
}
问题是,如果某条语句出错,为什么不回滚?有一部分数据插入表中
解决方案 »
- 百度地图批量坐标转换如何接收转换后的坐标值并将值传入action中
- 怎么保存文本框里的值
- 以下功能怎么实现,解决就给分
- 求dom4j包,以及例程代码。
- java 怎样才能实现快速检索文件
- TOMCAT:web.xml配置SERVLET引起的奇怪的错误信息,很头痛,请帮忙解答
- 做了一个音乐站点,支持在线试听,请问能不能动态更新播放列表?
- 谁知道javax.management包在哪里可以找到!
- jsdk-1.4.2.01安装问题
- 一个WEB开发技术的专业网站<<WEB开发者>>
- 写的类在win2000下没错,在linux下出错。。我在win2000下用的tomcat5.0和jdk1.5,而linux下是tomcat4.1和jdk1.4
- tomcat下,直连Access的问题
//stm的ADDBATCH先做好
conn.setAutoCommit(false);//开始一个事物
try{
//没有错误就提交事务
stm.executeBatch();
conn.commit();
}catch(Exception ex){
//存在错误回滚操作
conn.rollback();
}finally{
//重设连接属性
conn.setAutoCommit(true);
}