关于事务处理(50分)

  • 主题发起人 主题发起人 yibb
  • 开始时间 开始时间
Y

yibb

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何实现事务处理?
比如我现在要对两个表同时进行修改,如何把这两个操作放在同一个事务中?
 
Try
DataBase1.StartTransaction;
....『修改两个表』
DataBase1.Commit;
Except
DataBase1.Rollback;
Showmessage('发生错误,数据回滚');
End;
 
基本上就是上面的写法。
不过这是用database时候的写法。
如果用ado连数据库写法有所不同,但是总的思想是一样的,就是
开始事务
进行数据库操作
如果处理成功
提交
否则
会滚
这样的例子很多,你在DFW上搜索一下,应该很多的。
 
create proc procaddperson
(@userid char(40),
@name char(40)
@title char(40),
@dept char(40),
@phone char(40),
@password char(40)
)as

begin tran
if exists( select * from ftabperson where userid=@userid)
bgein
rollback tran
return 10 --人已存在
end
insert into ftabperson(userid,name,title,dept,phone,password)
values(@userid,@name,@title,@dept,@phone,convert(varbinary(300),@password))
if @@error<>0
begin
roll tran
return 20 --意外错误
end
else
begin
commit tran
return 1
end
 
多人接受答案了。
 
后退
顶部