批量录入数据后,按保存按钮,然后判断NAME字段录入有相同的数据或空值!有相同的数据或空值就作个提示.请问应该如何实现?用ADOQUERY+DBGRID;

解决方案 »

  1.   

    在保存数据之前先查询表里有没有重复的NAME值?
    ...
    SHOMESSAGE('重复')提示....
    ...
      

  2.   


    // 這個不需要再查詢數據庫啦.
    class procedure TDBFunction.CheckRepeatFieldValue(aField: TField);
    var
      lInitValue: string;
    begin
      if not (aField.DataSet is TADODataSet) then exit;
      with TADODataSet.Create(nil) do
      try
        if aField.DataSet.State in [dsEdit, dsInsert] then aField.DataSet.Post;
        Clone(TADODataSet(aField.DataSet));
        Sort := aField.FieldName + ' ASC';
        First;
        while not Eof do
        begin
          if lInitValue = FieldByName(aField.FieldName).AsString then
            showmessage('重復')
          else
            lInitValue := FieldByName(aField.FieldName).AsString;
          Next;
        end;
      finally
        Free;
      end;
    end;