这是我用dephi7的simpledataset写的用于保存数据的语句,但是感觉好像套路不对。因为即使在主键重复的情况下运行程序也会提示数据保存成功。在编辑环境下运行,会提示错误信息,但也会提示数据保存成功的信息。
你们一般用什么方法写的?procedure TInforDetailInputForm.bbtnSaveClick(Sender: TObject);
var
  i:integer;
begin
  if OperType='insert' then  
  Begin
    simpleDataSet1.FieldByName('XH').AsString := XH;
  end;
  if simpleDataSet1.State in[dsInsert,dsEdit] then
  begin
    try
       simpleDataSet1.Post;
    except
      raise exception.Create('数据保存出错!');
    end;
  end;
  if (simpleDataSet1.ChangeCount > 0) then
  begin
    simpleDataSet1.ApplyUpdates(-1);
    Application.MessageBox('数据保存成功!','提示');
  end;
  close;  //关闭窗体end;