我将下面的代码编译成两个程序同时远行,在同时修改数据户它就出,连try...finally 后的语句也不执行了。timer1.Interval:=10;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
adodataset1.Active:=false;
adodataset1.CommandText:=’select * from receivecontrol’;
adodataset1.Active:=true;
adodataset1.DisableControls;
try
adodataset1.Edit;
adodataset1.FieldByName(’new’).Value:=i;
adodataset1.Post;
adodataset1.EnableControls;
finally
adodataset1.EnableControls;
end;
i:=i+1;
end;

解决方案 »

  1.   

    呵呵,你运行.exe文件就能扑捉掉哪个错误的!没关系!
      

  2.   

    在Tools->Debugger Options中将选项Integrated Debugging禁止
    或直接执行可执行程序
      

  3.   

    我当然试过编译成exe文件运行,还是有错,不信你试一试,错误信息是 : ”无法为更新行集定位:一些值可能已在最后读取后改变”
      

  4.   

    那是因为两个程序同时修改数据户的同一个值(网络数据户sql server经常被两台以上的机同时修改数据)它就会出错,但是我不知道怎样解决?try...finally也没用!!!它不会忽略,还是弹个错误框出来!!!
      

  5.   

    try 
    adodataset7.Edit; 
    ******** adodataset7.FieldByName(’new’).Value:=1; 
    adodataset7.Post; 
    adodataset7.EnableControls; 
    finally 
    adodataset7.EnableControls; 
    Application.messagebox(……);//自己的对话提示框
    end;如果是F8运行的话,可以出错时按F9,就会弹出自己的对话提示框了
      

  6.   

    try 
    adodataset7.Edit; 
    ******** adodataset7.FieldByName(’new’).Value:=1; 
    adodataset7.Post; 
    adodataset7.EnableControls; 
    finally 
    adodataset7.EnableControls;
    Application.messagebox(……)://自己的对话框 
    end;
    运行时如果按f8出错,可再按f9就会报出自己的对话框了
      

  7.   

    ???那怎么解决同时修改sql server数据户的值时发生冲突的问题呢?那位高手可以教我一下呢?我的oicq是13323580
      

  8.   

    为什么我用vb的on error resume next 可以忽略vb的程序同时修改数据户的问题?但delphi的try...finally却不行????