procedure TForm1.DeleteDate;
var
  LDateTime : TDateTime;
begin
  //
  LDateTime := sqlCashBankIn.fieldbyname('ENDDATETIME').AsDateTime;
  sqlCashBankIn.Last;
  while LDateTime = sqlCashBankIn.fieldbyname('ENDDATETIME').AsDateTime do
  begin
    sqlCashBankIn.Delete;
    sqlCashBankIn.Prior;
  end;  SaveData;
end;

解决方案 »

  1.   

    删除日期是LDateTime的所有记录
      

  2.   

    procedure TForm1.DeleteDate;
    var
      LDateTime : TDateTime;
    begin
      //
      LDateTime := sqlCashBankIn.fieldbyname('ENDDATETIME').AsDateTime;  //字段EndDateTime的内容存入LDateTime变量
      sqlCashBankIn.Last;  //移动到最后一行
      while LDateTime = sqlCashBankIn.fieldbyname('ENDDATETIME').AsDateTime do  
      begin
      sqlCashBankIn.Delete;   //删除记录
      sqlCashBankIn.Prior;     //移动到上一行
      end;  SaveData;             //这个方法不知道如何删除的
    end;
    循环从最后一条记录开始删除,如果LDateTime = sqlCashBankIn.fieldbyname('ENDDATETIME').AsDateTime 为TRUE,则删除,否则跳出循环,程序完成
    如果数据库的记录是这样的
    ID           ENDDATETIME
    1               2012-1-1 11:11:11
    2               2012-1-1 11:11:11
    3               2012-1-1 11:11:12
    4               2012-1-1 11:11:11
    5               2012-1-1 11:11:11
    6               2012-1-1 11:11:11
    只会删除4,5,6
      

  3.   

       
    savadata是触发器
    CREATE TRIGGER dbo.TD_CASHBANKIN ON dbo.CASHBANKIN   
       FOR DELETE AS   
          BEGIN  
            if exists(select 1 from CASHBANKIN c,deleted d where c.SHOPID=d.SHOPID and c.STARTDATETIME=d.ENDDATETIME and c.PAYWAY=d.PAYWAY)  
            begin  
              raiserror 40001 '当前删除的入行单还存在更后的入行单,不能删除!'  
              rollback  
              return  
            end  
      update POSCASHMOVE set STARTDATETIME=null from deleted   
              where  convert(varchar(11), POSCASHMOVE.STARTDATETIME,100)+' '+convert(varchar(8), POSCASHMOVE.STARTDATETIME,108) 
                   = convert(varchar(11), deleted.ENDDATETIME,100)+' '+convert(varchar(8), deleted.ENDDATETIME,108)  
                and POSCASHMOVE.PAYTYPE = deleted.PAYWAY  
     
          END 我现在的删除总会多删除一条。