请问如何把Dataset里的数据存放在内存表KbmMemTable中?
数据库用ACCESS,数据存放在本地.
比如一个Datasource,一个Adoquery,一个grid用来显示表格数据.
设置完adoquery的connectstring后,已经成功与表数据相连,并在grid里显示.
我想把adoquery里的数据放到内存表KbmMemTable里去,请问怎么做?
我觉得应该用流的形式,可是怎么实现?
如:
  var
    MDDMemTable: TKbmMemTable;
    Memsteam : TMemoryStream;
  begin
    Adoquery1.connectstring := adoconn;
    s := 'select id,name from table';
    with Adoquey1 do
    begin
      Close();
      sql.clear;
      sql.add(s);
      open;
    end;
    //接着操作流存放到MDDMemTable
    try
      MDDMemTable : TKbmMemTable.Create(nil);
      ....
      ....
      MDDMemTable.LoadFromStream(Memsteam);
    finally
      MDDMemTable.Free;
    end;
  end;  
  
以上只是根据自己的大意写了一下,但是最主要的是省略号那些代码不知道怎么写,其它的地方可能也有些问题,
请教大家!在线等!

解决方案 »

  1.   

    因为,我写的socket在时时接收到的新数据的时候,新数据要与存放在本地的表里的adoquery1里的数据相联系起来处理,如果没有把adoqurey1里的数据放在内存表里的话,adoquery1一直要create了再free掉,这样整个应用程序速度会明显慢下来.所以想先放到内存表里再处理应该会更快一些.
      不知道我的想法正确不正确?希望大家给意见,在线等..