P
pqzemily
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TTabManage.loadedata;
var
filepath:string;
xtbh_: string;
IOC:Iobjectcontext;
begin
try
Ffilename:=getini('pqz','filepath','');
if Not (Pos('.bck',Ffilename)>0 ) then
exit;
xtbh_ := copy(FfileName,1,10) ;
//检测窗口收件是否有此项目
filepath :=getini('sysinfo','WebDirP','');
filepath:= filepath +'/ReadEData/Upload'+'/'+Ffilename ;
if fileexists(filepath) then
loaddata(1,xtbh_,filepath);//向数据库中导入数据
CreateXMWZByJZD(xtbh_);//检查刚导入数据库中的数据, 在此设置错误。
OpenSQL(datam.tempQuery1,'update cksj set xmzt=''B02'' where xtbh='''+xtbh_+'''');
IOC:=getobjectcontext;
IOC.setcomplete;
except
IOC.setabort;
end;
end;
请问如果我在检查数据时出错,在运行的时候检查数据出错了,也执行了IOC.setcomplete,但我的数据库中已经把所有的数据都导进去了。
请问是不是MTS/COM+ 只有做数据库修改出错时才会事务滚回啊?即我在loaddata时出错时才会事务滚回(Loaddata是用一个循环把十多张表导入数据库的。)还是我这段代码写错误了呢?请赐教。
var
filepath:string;
xtbh_: string;
IOC:Iobjectcontext;
begin
try
Ffilename:=getini('pqz','filepath','');
if Not (Pos('.bck',Ffilename)>0 ) then
exit;
xtbh_ := copy(FfileName,1,10) ;
//检测窗口收件是否有此项目
filepath :=getini('sysinfo','WebDirP','');
filepath:= filepath +'/ReadEData/Upload'+'/'+Ffilename ;
if fileexists(filepath) then
loaddata(1,xtbh_,filepath);//向数据库中导入数据
CreateXMWZByJZD(xtbh_);//检查刚导入数据库中的数据, 在此设置错误。
OpenSQL(datam.tempQuery1,'update cksj set xmzt=''B02'' where xtbh='''+xtbh_+'''');
IOC:=getobjectcontext;
IOC.setcomplete;
except
IOC.setabort;
end;
end;
请问如果我在检查数据时出错,在运行的时候检查数据出错了,也执行了IOC.setcomplete,但我的数据库中已经把所有的数据都导进去了。
请问是不是MTS/COM+ 只有做数据库修改出错时才会事务滚回啊?即我在loaddata时出错时才会事务滚回(Loaddata是用一个循环把十多张表导入数据库的。)还是我这段代码写错误了呢?请赐教。