With Query1 do
begin
  Close;
  SQL.Clear;
  SQL.Add('Insert Into Table_A Values(....));
  Try
    ExecSQL;
  Except
    On E:Exception do
    begin
      ShowMessage('错误消息:'+E.Message);
    end;
  end;
end;

解决方案 »

  1.   

    try
    ...
    except
    ...
    end;
      

  2.   

    myoldsaturn(saturn) :我要知道是什么错才可以作出相应的操作,可能不只是这个错呢
    Focus(老鱼):其实我想所有的唯一性字段要这样做,不是一定要主键
      

  3.   

    这个错误类型是KeyViolate,拦截这个错误消息可以通过捕获数据库引擎错误代码来实现
    它的ErrorCode是9729
      

  4.   

    多谢zzllabc(龙) :那应该怎样写呢?可以写几行来看看吗?
      

  5.   

    拦截到的错误应该有错误号,查一下帮助吧一般来说系统给出的错误都分错误号和错误信息,那个汉字的当然是错误信息了,一定还有一个err的属性是指出该错误的错误号的