在我便用 DBGrid 时发现一个奇怪的现像,如果你在 记录集的 MoveComplete 事件里写入码,在 DBGrid 显示时,在它的最后一条记录会出现两条完全相同的记录(可是在库中明明只有一条),如果你把 MoveComplete 事件去掉的话,就会正常!!!!请问各位,这个问提应该如何解决??????

解决方案 »

  1.   

    DBGrid不可能出现该问题。没有估计错的话,你查询的是视图,是你的视图出的问题,建议用用group by。
      

  2.   

    MoveComplete 事件里写入码..
    是其中的代码做怪吧...
      

  3.   

    哇!各位你都没有遇到过像我这样的问提吗?我用的是 Assess2000 没有没有视图.并且库中只有一条记录,而它却显示出两条完全相同的!!
    我想我的 MoveComplete 中的代码,不会有问提吧!!!我只是打开另一个记录集,并在另外的DBGrid 中显示出来!!!procedure TfrmMain.AdoRsCadreMoveComplete(DataSet: TCustomADODataSet;
      const Reason: TEventReason; const Error: Error;
      var EventStatus: TEventStatus);
    begin
    if AdoRsCadreEducation.State <> dsInactive then
        AdoRsCadreEducation.Close;
      if AdoRsCadreId.AsString <> '' then
      begin
        AdoRsCadreEducation.CommandText := 'Select * from CadreEducation where CadreId =' + AdoRsCadreId.AsString ;
        AdoRsCadreEducation.Open;
      end;
    end;大家帮帮助!!!江湖救急!!!!  谢了!!!
      

  4.   

    以上哪段代码中的 AdoRsCadreId.AsString  就是出问提的 DBGrid 中所显示的 AdoDataSet