怎样在向一个不能有重复值的字段添加数据前判断将要添加的内容是否有重复?
就是说要求输入的数据不能有重复的。

解决方案 »

  1.   

    下面是我的一段代码,在ADOQUERY的BEFOREPOST事件中写如下代码:procedure TAccountDefForm.SysQueryBeforePost(DataSet: TDataSet);
    var
      NewID,
      NewName : String;
    begin
      NewID := DataSet.FieldByName('accountid').AsString;
      NewName := DataSet.FieldByName('NAME').AsString;
        With SelQuery do
        begin
          Clone(SysQuery);
          first;
          if Locate('ACCOUNTID',NewID,[loCaseInsensitive]) then
            Raise Exception.Create('该帐套编号已存在,请重新输入!');
          close;
        end;
    end;
      

  2.   

    1、可以在BeforePost事件检查字段有效性,不符合,Abort即可。
    2、可以在PostError事件,定义一整形变量来接受数据库异常返回的ErrorCode,若变量值为
       9729则说明输入了重复的字段。(需要设置键值字段的Required为False)
      

  3.   

    只能在post前自己检验一下,其实你有主键它就插不进去相同的记录了,你说是吧,不过提出的错误是英文而已,你要用的是sql2k也无妨,中文错误提示
      

  4.   

    Drate(小虫) 的完全可以
     错误要自己捕捉