哪位高手帮我解释一下这个过程。谢谢(50分)

  • 主题发起人 主题发起人 chen_ke
  • 开始时间 开始时间
C

chen_ke

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TDatabase.ApplyUpdates(const DataSets: array of TDBDataSet);
var
I: Integer;
DS: TDBDataSet;
begin
StartTransaction;
try
for I := 0 to High(DataSets)do
begin
DS := DataSets;
if DS.Database <> Self then
DatabaseError(Format(SUpdateWrongDB, [DS.Name, Name]));
DataSets.ApplyUpdates;
end;
Commit;
except
Rollback;
raise;
end;
for I := 0 to High(DataSets)do
DataSets.CommitUpdates;
end;
 
procedure TDatabase.ApplyUpdates(const DataSets: array of TDBDataSet);
var
I: Integer;
DS: TDBDataSet;
begin
StartTransaction;
//开始事务
try
for I := 0 to High(DataSets)do
begin
DS := DataSets;
if DS.Database <> Self then
//如果这个dataset不属于当前的Database则报错
DatabaseError(Format(SUpdateWrongDB, [DS.Name, Name]));
DataSets.ApplyUpdates;
//将DataSet中的数据更新至数据库中,和CacheUpdates属性有关
end;
Commit;
//若所有的DataSet都已更新则向服务器提交事务
except
Rollback;
//否则回滚事务
raise;
end;
for I := 0 to High(DataSets)do
DataSets.CommitUpdates;//通知DataSet数据已保存了
end;
 
smartkid:为何不在此地宣传一下你的网页?
 
呵呵,是坏人吗?说得有理
我的主页正在劳动改造...
smartkid.yeah.net
 
接受答案了.
 
呵呵,我可不是坏人.
我真不是坏人啊! :-O
 
后退
顶部