问题1.想这么怕数据库里的数据多,容量太大。一共有3张表,记录不同的数据,该怎么同时删除3张表旧的,保留最新的三天的数据,以什么为依据??系统时间嘛?那么排序问题还可考虑吗??该怎么做??写点代码。
问题2.大量的数据我只要最新的几天的,是每3天一个数据库3张表的数据存储方式好,在定期的删除旧的数据库,还是每三天一个数据库3张表,定期删除数据库中表的数据??那个方式好点呢?快捷方便,不容易出错!!请问有经验的高手都该怎么做?
请高手执教,给点提示,代码!!!!!!!!谢谢

解决方案 »

  1.   

    to : FAICHEN(CC) ,你的意思我懂。不过有些地方我不是太了解,1.我有表的时间段,时间段存的时候,我把系统时间变成字符串型存储的,还能够比较大小吗?直接存储系统时间该怎么做?2.大于3天时间,该怎么做??天与天比?小时与小时比?还是怎么比?。自动删除表中的纪录该用什么代码,delete ** from ** where **>**???还有就是程序一旦运行起来,没什么大问题,就不准停下来,要求是实时的,我对数据库懂得不多,望多多执教一下。我的另外的问题你知道该怎么做好呢?只要一个数据库3个表?你帮我解决过很多问题的,我会用分答谢的。
      

  2.   

    你用字符类型保存时间的还真是麻烦些。建议还是改用datetime来保存八。
    而且你这样大的量的数据库用access也不好吧,用sql、oracle等比较好些,这样你可以在任务里定义任务来实现你说的功能。
      

  3.   

    to caojianye(jianye) 做过的话,能不能多给点提示?给点代码也好呀
      

  4.   

    1用字符串也可,(字符串处理不提倡,用DATETIME比较好),但是要定义好字符串的格式。
    如日期:“2003-07-16”,时间:“17:05:00”这样就可比较字符串大小日期。2得到系统时间,减去3天得到三天前的时间sDate(为字符串,格式为2003-07-05)3用一个定时器 检测执行
    DELETE FROM DATABASE WHERE 时间字段<='2003-07-05'
      

  5.   

    由于商业原因
    COPY 部分代码给你,
    希望对你有帮助!
    CTime time1 = CTime::GetCurrentTime();
    CString time2 = time1.Format(" 时间: %y-%m-%d %H:%M:%S");while(date <= time2)      //Delete first & add later
    {
    // MessageBox("Fuck");
    m_recordset1.MoveFirst();
    m_recordset1.Delete();
    recordsetnumber--;
    m_recordset1.MoveNext();
    //      strSQL.Format("delete * from MB_SAMPLE_SHOW");
    //         m_database.ExecuteSQL(strSQL);
    Beep(800,600);
    }