Foxtable(狐表)用户栏目专家坐堂 → 自动清除数据


  共有3783人关注过本帖树形打印复制链接

主题:自动清除数据

帅哥哟,离线,有人找我吗?
shanmao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:248 积分:1985 威望:0 精华:0 注册:2014/5/13 10:53:00
自动清除数据  发帖心情 Post By:2014/5/23 15:46:00 [只看该作者]

假如系统里的有些数据已经很长时间了,没什么作用,需要让系统自动清理。也就是让系统里数据保持一段时间,超过了这个时间,就全部自动的清理掉。怎么设置?在哪里可以设置?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/23 15:48:00 [只看该作者]

需要增加一个列,记录该条数据上次访问的时间,或者数据增加的时间.


这样就可以根据这个时间删除指定时间之前的老数据了

 回到顶部
帅哥哟,离线,有人找我吗?
shanmao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:248 积分:1985 威望:0 精华:0 注册:2014/5/13 10:53:00
  发帖心情 Post By:2014/5/23 16:17:00 [只看该作者]

Select Case e.DataCol.name
    Case "添加日期"
        If e.DataRow.IsNull("添加日期") Then
            e.DataRow("存储期限") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("添加日期"))
            e.DataRow("存储期限") = Math.Round(tp.TotalDays / 365.2422,2)
            If e.DataRow("存储期限") > 1 Then
                Syscmd.Row.Delete()
            End If
        End If
End Select

 

表中有添加日期和存储期限两列,你看一下这样写对吗?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/23 16:30:00 [只看该作者]

用SQLCOMMAND执行

delete from {表A} where date()>= dateadd('d',存储期限,增加日期)

 回到顶部