Delphi+Sql环境
有数据库:RCH
      表:T_His_0401,T_His_0402......表名按月份排列(每月生成一张表)
要求:按时间备份表中的内容(时间是按年—月—日)
      例如要备份2004年1月2日00:00:00到2004年2月2日00:00:00的数据
 
怎么用delphi实现,并且备份后还可按时间恢复数据
例如:恢复2004年1月2日00:00:00到2004年2月2日00:00:00的数据请问怎么实现?请各位大侠提供思路,最好有成熟的方法。

解决方案 »

  1.   

    新建立一个数据库保存生成的备份表名称和日期,用循环的方式取其内容并进行相应的操作即可
    table_name        create_date
    T_His_0401        2004-04-01
    T_His_0402        2004-04-02
    ……恢复时先删除原表
      

  2.   

    太长了,以上的是思路//query1是原数据库
    //query2是目标数据库while not query1.eof do   //sql是select * from 表名数据库 where 时间条件
    begin
      table_name:=query1.fieldbyname('table_name').AsString;
      sqlstr:='create talbe '+table_name+表结构;    //表结构可以预定义好或
      query2.execsql;  //执行上句创建数据库
      sqlstr:='select * from '+table_name;
      query2.Open;
      query2.Insert;
      for J:=0 to query2.fields.count do
        query2.fields[J].value:=query1.fields[J].value;
      query2.updatebanch;
      query1.next;
    end;