我用Adoquery对象执行增加记录操作如
insert into product(part1)values('red')
同时我在数据库里对employee表建立了insert触发器,当增加新记录的时候检查数据库有没有同名记录,有则回滚。
那我在应用程序里面怎么知道数据增加成功与否?????
因为增加操作很频繁,我不想每次操作前打开数据库记录下记录总数,执行操作后再
打开数据库记录下记录总数,那我应该怎么办????
请各位帮忙!!!!help!!!

解决方案 »

  1.   

    对数据源添加如下代码
    procedure TfrmData.AdoqueryBeforePost(DataSet: TDataSet);
    begin
      ADOConnection1.BeginTrans;
    end;procedure TfrmData.AdoqueryAfterPost(DataSet: TDataSet);
    begin
      ADOConnection1.CommitTrans;
    end;procedure TfrmData.AdoqueryPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    begin
      ADOConnection1.RollbackTrans;
      Action :=daAbort;
    end;
      

  2.   

    要是不想打开已经存在的数据的话
    adoquery.filter:='1=2'
      

  3.   

    觉得你没必要建触发器,给这个字段建个唯一性索引就足够了.
    然后在插入的时候
    try
      //insert 操作
    except
      //因为表要求值唯一,不唯一插入会失败,捕获插入失败的信息
    end;
      

  4.   

    我认为还是 hnhb(不死鸟) 说的方法比较好