怎样将stringgrid的内容放入一个临时表?(用于从qreport打印出来)

解决方案 »

  1.   

    select * into #table from ....
      

  2.   

    新鲜出炉的代码,你再改一点点就可以用了。
    procedure TForm1.Button1Click(Sender: TObject);
    var
        i,j:integer;
    begin
        for i:=0 to 5 do
            for j:=0 to 5 do
                StringGrid1.Cells[i,j]:=IntToStr((i+1)*(j+1));
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
        i,j:integer;
        ADataSet:TClientDataSet;
    begin
        ADataSet:=TClientDataSet.Create(Self);
        with ADataSet.FieldDefs do
        begin
            for i:=0 to StringGrid1.ColCount-1 do
            begin
                Add('field'+IntToStr(i),ftString,5,False);
            end;
        end;
        ADataSet.CreateDataSet;
        DataSource1.DataSet:=ADAtaSet;
        ADataSet.Open;
        for i:=1 to StringGrid1.RowCount-1 do
        begin
            ADataSet.Insert;
            for j:=0 to StringGrid1.ColCount-1 do
            begin
                ADataSet.FieldByName('field'+IntToStr(j)).AsString:=StringGrid1.Cells[i,j];
            end;
            ADataSet.Post;
        end;
        Application.MessageBox('haha','ha',Mb_OK);
        ADataSet.Close;
        ADataSet.Free;
    end;