delphi以及学习编程的初级菜鸟
具体是
表"OK"里面记录有"最后更新时间",现在想把10天以前的“最后更新时间”清零,不管是今天是几号,都是10天前的才处理。各路哥哥姐姐说下,谢谢了,折腾了一天了,还是没有搞定。。痛苦中

解决方案 »

  1.   

    找到个   delete   *   from   table   where   datediff(d,   自动更新,getdate())>N
    用不了数据库是access的,最后更新的那个字段是文本类型
      

  2.   

    把你的字段类型改一下吧,改成date
      

  3.   

    把你的字段类型改一下吧,改成date
      

  4.   

    或者这样用
    delete  *  from  table  where  datediff('d',  自动更新,getdate())>N
      

  5.   

    不好意思,上面那个写错了,应该是
    delete  *  from  table  where  datediff('d',  自动更新,date())>N
      

  6.   

    '自动更新'这个字段一定要是日期型的,当然如果字段内容肯定符合日期格式的话(而且要处理为空的情况),那样可以
    delete  *  from  table  where  datediff(d,  cdate(自动更新),getdate())>N
      

  7.   

     一个delete语句就可以了
      

  8.   

    我是这样用,不知道哪里错了,提示 表达式中getdate函数未定义?ADOQuery3.Close;
    ADOQuery3.SQL.Clear;
    ADOQuery3.SQL.Add('update 数据库 set 日点击 = 0 where 名称=:aa and datediff(d, cdate(最后更新),getdate())>N');
    listview1.Selected.SubItems[4]:=inttostr(cishu);
    ADOQuery3.Parameters.ParamByName('aa').Value:= wenjianming;
    ADOQuery3.ExecSQL;
      

  9.   


      with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('delete from 表 where DateDiff(''d'',列,Now)=10');
        ExecSQL;
      end;