--事务处理:
创新互联公司是专业的襄城网站建设公司,襄城接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行襄城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
begin tran --开始处理数据时,开启事务
--下面是具体的处理语句
insert into 表 values(1)
if @@error0 --如果处理语句出错,回滚事务
begin
rollback tran
goto lbexit
end
update 表 set 字段=1
if @@error0 --如果处理语句出错,回滚事务
begin
rollback tran
goto lbexit
end
commit tran --所有执行成功,提交事务
lbexit:
JAVA的话,可以在连接对象上启用事务
在方法上添加事务,由事务统一管理,如图:
可以捕获异常,如果不对全部回滚。
//举例子,比如你在写一个级联删除的方法的时候,为了保证数据完整性,删除的时候一定要确定该删的都删了才行,否则就要回滚,下面是删除方法的例子:public boolean delete(int sID) {//成功删除会返回true;
dbc = new DataBaseConnection();//根据你自己的方式创建数据库的连接
Connection con = dbc.getConnection();//得到Connection
try {
con.setAutoCommit(false);// 更改JDBC事务的默认提交方式,默认是true,是自动提交;
dbc.executeUpdate("delete from xiao where ID=" + sID);//删除
dbc.executeUpdate("delete from xiao_content where ID=" + sID);//删除
dbc.executeUpdate("delete from xiao_affix where bylawid=" + sID);//删除
con点抗 mit();//提交JDBC事务,如果没问题,这时才真正的删除了;
con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式,这是个好习惯;
dbc.close();//关闭连接
return true;//删除成功
}
catch (Exception exc) {
con.rollBack();//回滚JDBC事务,出现异常,为保证数据完整性,此次操作回滚,不删除;
exc.printStackTrace();//输出异常信息;
dbc.close();//关闭连接
return false;//删除失败
}
}//顺便说一下,java中JDBC的事务管理,跟你用的是什么数据库没关系,用什么数据库都是这样;