以下代码是统计一定条件的记录,显示在DBGRID中,第一次点击‘统计’按钮,没有问题,但第二次点击时数据库里的相关记录被删除了,为什么StatSQL:='Select dbo.T_CarManage.RecordID,dbo.T_CarManage.Card_code,dbo.T_CarManage.DriverId,dbo.T_CarManage.DriverName,dbo.T_CarManage.owner AS Expr1,'+
   'dbo.T_CarManage.Allow1,dbo.T_CarManage.Allow2,dbo.T_CarManage.Allow3,dbo.T_CarManage.G_Team,dbo.T_Study.RecordID,dbo.T_Study.nianfen '+
   'From dbo.T_CarManage INNER JOIN dbo.T_Study ON dbo.T_CarManage.RecordID=dbo.T_Study.RecordID  Where T_Study.nianfen = '''+trim(edtyear.Text)+''''+
   ' and T_CarManage.G_team like '''+Trim(cbbteam.Text)+'%'''+
   ' and T_Study.daohui  =''' +inttostr(RecNum)+'''';
SetAdoLink(adostart,StatSQL);//SQL语句连接数据库的函数
  with adostart do
  begin
    first;
    for i:=1 to recordcount do
    begin
      Id:=fieldbyname('RecordId').value;
      SetAdoLink(adonumber,'select * from T_Study WHERE RecordId='''+ID+'''');
      IF adonumber.RecordCount <>num then  adostart.delete;
      next;
    end;
  end;