我想每隔10秒钟把StringGrid里的数据周期性的备份到数据库中,而且不能覆盖前一次的备份,怎样每隔10秒钟在数据库里新建一个表,然后把StringGrid里的数据保存到新建表中?
各位高手帮帮忙!

解决方案 »

  1.   

    "每隔10秒钟把StringGrid里的数据周期性的备份到数据库中"
    在10秒钟内你能保证数据全部传送完毕,并且"每隔10秒钟在数据库里新建一个表",
    建这麽多表怎麽管理呀???
      

  2.   

    哦,那用DBGrid怎么实现?
    另外能不能对DBGrid中的每一格进行操作?就像StringGrid.Cell[x]这样的用法?
      

  3.   

    因为StringGrid里显示的是轮询的结果,每隔10秒轮询一次,每次轮询结果都要保存下来,所以要这样,真的很头疼
      

  4.   

    使用adoquery吧:
    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add(create table....建表的sql语句);
    adoquery1.exesql;adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add(insert...读取stringgrid的数据并插入表中);
    adoquery1.exesql;
      

  5.   

    多谢wuzhijie :-)
    追问一句:怎么读取stringgrid的数据并插入到表中?
    谢谢帮忙!
      

  6.   

    解决后马上送分,另外包括我在DataBase版发的同一个问题的帖子给的80分
    多谢大家了
      

  7.   

    sql.text:='create table sub0 (字段名 类型(长度) ,[..n])'
      

  8.   

    怎么读取stringgrid的数据并插入到表中?
    ----
    还是循环写入吧!用
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text := 'select * from tblnew';
    ADOQuery1.Open;
    ...
    {参考下面代码,思路如此}
    for i := 0 to StringGrid1.RowCount - 1 do
    begin
      ADOQuery1.Append;
        for j := 0 to StringGrid1.ColCount - 1 do
          ADOQuery1.Fields[j].Value := StringGrid1.Cells[j, i];
      ADOQuery1.Post;
    end;
    ...