D1 equivalent code to D2 example code

Hi,

Could someone please give me a spot of help I need this code in D1, because D1
doesn't have a 'PostError' event for a DBTable.

procedure TMain.VenueTablePostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
  if (E is EDBEngineError) then
    if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
    begin
      MessageDlg('Unable Save: Duplicate Venue Name.' + Chr(10) + Chr(10) +
      'Please use another venue name.', mtWarning, [mbOK], 0);
      Abort;
    end;
end;

Many Thanks,
 ERik

----------------------------------------\       /----------------
 E-Mail: Ebeau...@Sunbird.ru.ac.za      |       |
                                   _____|       |_____          
 Erik Beauvais                     \                 /
 Department of Information Systems   \   You  are  /
 Rhodes University                     \   HERE  /  
 Grahamstown                             \     /
 6140                        /^^^^^^^^^^\  \ /  /^^^^^^^^^^^^\
 South Africa               (    Rock    ) \o/ (  Hard Place  )
____________________________(____________)_/>__(______________)__