请看看这段代码,请问问题出在什么地方?(200分)

  • 主题发起人 主题发起人 pqzemily
  • 开始时间 开始时间
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是用一个循环把十多张表导入数据库的。)还是我这段代码写错误了呢?请赐教。
 
用的那些过程是实现什么功能的???
代码应全一点
 
其实只有
loaddata(1,xtbh_,filepath);//向数据库中导入数据
CreateXMWZByJZD(xtbh_);//检查刚导入数据库中的数据, 在此设置错误。
这两个地方有用,别的可以去掉。
loaddata是向数据库中导入数据。代码太多不好贴。总的就是打开数据库向数据中增加数据。
而createxmwzbyjzd只的检查一下数据是否符合要求,我在这段代码中加了一个错误用来检校整个这段
代码的正确性。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
953
SUNSTONE的Delphi笔记
S
I
回复
0
查看
827
import
I
后退
顶部