我在ClientdataSet.commandtext中加入一了以下语句"select * into abc from cba",生成的表abc好像不在本地,请问我怎样把Select的结果保存在本地???

解决方案 »

  1.   

    SaveToFile(const FileName: string = ''; Format TDataPacketFormat=dfBinary);
    格式:(dfBinary) or XML (dfXML), or UTF8-based XML (dfXMLUTF8).clientdataset.savetofile('zx.lon',xml);就可存成xml
    调入用clientdataset.loadfromfile('zx.lon');
      

  2.   

    试试
    select * into d:\abc from cba
      

  3.   

    请问怎么生成*.db文件呢?帮助上说能生成binary或者XML型式的文件,到底能不能生成TQuery or TTable 能读的文件?没有人知道吗?!!!!!!!!!!
      

  4.   

    我有一个办法,试过了,可以。存在一个Paradox表
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      Table1.Close;
      Table1.TableType:=ttParadox;
      Table1.DatabaseName:='D:\';
      Table1.TableName:='1.db';
      Table1.FieldDefs.Clear;
      for i:=0 to Table1.FieldCount-1 do
        Table1.Fields[i].Free;
      for i:=0 to ClientDataSet1.FieldCount-1 do
        Table1.FieldDefs.Add(ClientDataSet1.FieldDefs[i].Name,
                             ClientDataSet1.FieldDefs[i].DataType,
                             ClientDataSet1.FieldDefs[i].Size,
                             False);
      //加入ClientDataSet中的字段信息到Table中,用来创建表
      Table1.CreateTable;//创建表
      Table1.Open;
      ClientDataSet1.First;
      while not ClientDataSet1.Eof do
      begin
        Table1.Append;
        for i:=0 to ClientDataSet1.FieldCount-1 do
          Table1.Fields[i].AsString:=ClientDataSet1.Fields[i].AsString;
        ClientDataSet1.Next;
        Table1.Post;
      end;//导记录
    end;