我想在字段中插入一条记录,如果有重复就取消这次操作,怎么用两种方法实现?1。用数据集的方法 ADOQUERY.INSERT2.SQL方法 ADOQUERY.SQL.ADD('')..

解决方案 »

  1.   

    Sql语句ADOCommand.CommandText:=Sql;
    ADOCommand.Execute;
      

  2.   

    说清楚你的数据库是什么SQL or Access or.....
    Table中各字段的类型
      

  3.   

    ADOQUERY设置缓存更新.
    在BeforePos下
    If (ADOQUERY.State = dsInsert)  
    or (AdoQUeryID.OldValue <> AdoUeryID.NewValue) then
    begin
    //   后台主关键字查询
    // 找到后提示信息
    end;上面的AdoQUeryID表示你不允许重复的主关键字
      

  4.   

    用数据集的方法 ADOQUERY.INSERT
    这种恐怕不行,其它可以
      

  5.   

    你把这个字段设成唯一性索引就行了。在插入的时候若相同则不会加入的。
    代码如下:
    with AdoQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into Table1(a,b,c) values(x,y,z)');
      try
         ExecSQL;
      except    //如果重复的话会出错,则显示下面的出错信息,出错的前提是你已为该字段设了唯一性索引
         Application.MessageBox('数据重复!','提示',MB_OK+MB_IconError);
      end;
    end;
      

  6.   

    如果用 ADOQUERY.INSERT
    你必须在填完值之后 ADOQUERY.Post