我实在找不出原因所在,只好把uDAADODriver.pas中调用ExecSQL的函数修改了一下,注释掉异常处理就可以了,但是不知道会不会产生什么影响。 function TDAEADOQuery.DoExecute: integer; begin result := TADOQuery(Dataset).ExecSQL; //if TADOQuery(Dataset).Connection.Errors.Count>0 then //raise Exception.Create(TADOQuery(Dataset).Connection.Errors.Item[0].Description); end; 结贴了,谢谢各位关注的朋友,希望熟悉RO的朋友能告知真正的原因。