Statement stmt=conn.createStatement();
String sql="begin tran;update 没有的表 set strComNo='0001' where ID=1;commit tran;";
stmt.execute(sql) ;怎么加了Begin tran 和 commit tran ,就不能返回错误了啦??
String sql="begin tran;update 没有的表 set strComNo='0001' where ID=1;commit tran;";
stmt.execute(sql) ;怎么加了Begin tran 和 commit tran ,就不能返回错误了啦??
conn.setAutoCommit(false);
执行;
conn.commit();
}catch(Exception e){//注意,一切异常都要回滚
conn.rollback();
}
try
{
conn.setAutoCommit(false);
stmt.ExecuteUpdate("update 没有的表 set strComNo='0001' where ID=1;commit tran");
conn.commit();
}
catch(SQLException e)
{
if(conn!=null)
conn.rollback();
}
Oracle可以用begin...多条语句...end;这样用
begin tran;
update 没有的表 set strComNo='0001' where ID=1;
commit tran;写到一起是作为一个语句块,相当于给数据库服务器一个存储过程来执行.这样事务就执行在数据库那边处理了,效率高些三如果
try{
conn.setAutoCommit(false);
执行;
conn.commit();
}catch(Exception e){//注意,一切异常都要回滚
conn.rollback();
}
的话,我想效率一定没有这么好.是不是Java就只能这样弄了哟?