请注意,我是在dll中写的,adostoredproc需要临时创建,请高手指点。

解决方案 »

  1.   

    ADOStoredProc.SaveToFile('fileName',pfxml/pfadtg);
      

  2.   

    我只想要返回结果集,ADOStoredProc.SaveToFile('fileName',pfxml/pfadtg);这样执行后,
    存出的文件里,有其他的东西,好像是存储过程的内容。请高手继续指点。
      

  3.   

    请详细写一下,这句话
      ADOStoredProc.SaveToFile('fileName',pfxml/pfadtg);谢谢。
      

  4.   

    ADOStoredProc1.SaveToFile('c:\a.xml',pfxml);
    这样写,还是有其他的东西。
      

  5.   

    TBlobField(adotable1.FieldByName('word')).SaveToFile('c:\tempword.doc');
      

  6.   

    ADOStoredProc.SaveToFile('fileName',pfxml);
      

  7.   

    不好意思,刚才看错了,试试这个
    adotable1.SaveToFile(filename,pfXML);
      

  8.   

    - <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    - <s:Schema id="RowsetSchema">
    - <s:ElementType name="row" content="eltOnly" rs:updatable="true">
    - <s:AttributeType name="k_yhm" rs:number="1" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_swry" rs:basecolumn="b_mc">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="20" /> 
      </s:AttributeType>
    - <s:AttributeType name="k_yycxm" rs:number="2" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yycxb" rs:basecolumn="xt_yycxm">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="30" /> 
      </s:AttributeType>
    - <s:AttributeType name="k_sjkyh" rs:number="3" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yhsqb" rs:basecolumn="xt_sjkyh">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="10" /> 
      </s:AttributeType>
    - <s:AttributeType name="k_bbh" rs:number="4" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yycxb" rs:basecolumn="xt_bbh">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="20" /> 
      </s:AttributeType>
    - <s:AttributeType name="k_swjg" rs:number="5" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_swjg" rs:basecolumn="b_mc">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="30" /> 
      </s:AttributeType>
    - <s:AttributeType name="k_glbm" rs:number="6" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_glkb" rs:basecolumn="b_mc">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="30" /> 
      </s:AttributeType>
    - <s:AttributeType name="k_yhjb" rs:number="7" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_yhjb" rs:basecolumn="b_mc">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="20" /> 
      </s:AttributeType>
    - <s:AttributeType name="k_cxlb" rs:number="8" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yycxb" rs:basecolumn="xt_cxlb">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="30" /> 
      </s:AttributeType>
    - <s:AttributeType name="xt_yhh" rs:number="9" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yhdjb" rs:basecolumn="xt_yhh" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="c9" rs:name="xt_yhh" rs:number="10" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yhsqb" rs:basecolumn="xt_yhh" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="xt_yycxh" rs:number="11" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yhsqb" rs:basecolumn="xt_yycxh" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="c11" rs:name="xt_yycxh" rs:number="12" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="xt_yycxb" rs:basecolumn="xt_yycxh" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="b_bm" rs:number="13" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_swjg" rs:basecolumn="b_bm" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="2" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="b_zcm" rs:number="14" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_swjg" rs:basecolumn="b_zcm" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="20" /> 
      </s:AttributeType>
    - <s:AttributeType name="c14" rs:name="b_bm" rs:number="15" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_glkb" rs:basecolumn="b_bm" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="2" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="b_glkb" rs:number="16" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_swry" rs:basecolumn="b_glkb" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="2" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="c16" rs:name="b_bm" rs:number="17" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_swry" rs:basecolumn="b_bm" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
    - <s:AttributeType name="c17" rs:name="b_bm" rs:number="18" rs:writeunknown="true" rs:basecatalog="netax" rs:baseschema="dbo" rs:basetable="dm_yhjb" rs:basecolumn="b_bm" rs:keycolumn="true" rs:hidden="true">
      <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="2" rs:fixedlength="true" rs:maybenull="false" /> 
      </s:AttributeType>
      <s:extends type="rs:rowbase" /> 
      </s:ElementType>
      </s:Schema>
    - <rs:data>
      <z:row k_yhm="李剑" k_yycxm="税务登记输入(其他企业)" k_sjkyh="ndi" k_bbh="0.00.0001.0000" k_swjg="登记中心" k_glbm="综合一科" k_yhjb="综合管理员" k_cxlb="税务登记" xt_yhh="0001" c9="0001" xt_yycxh="0102" c11="0102" b_bm="16" b_zcm="7070707070" c14="01" b_glkb="01" c16="0001" c17="01" /> 
      </rs:data>
      </xml>
    还是不行,我只想要最后几行的数据,其他的不要。
      

  9.   

    不能用adotable1,只能用adostoredproc。
      

  10.   

    只要最后几行?那就不是XML格式了。你到底是需要什么样的格式呢?自定义的?这样还是自己手工写的比较好。
      

  11.   

    function ExportToWord(dataset:tdataset):boolean;
    var
      WordApp,WordDoc,WordTable:OleVariant;
      i,j:integer;
      ProgressBar1:TProgressBar;
    begin
      result:=false;
      if not DataSet.Active then
         begin
           application.MessageBox('数据集尚未打开!','错误',0);
           exit; 
         end;
      WordApp:=CreateOleObject('Word.Application');
      WordApp.Visible:=false;
      try
        DataSet.First;
        WordDoc:=WordApp.Documents.Add;
        WordTable:=WordDoc.Tables.Add(WordApp.Selection.Range,DBGrid.DataSource.DataSet.RecordCount+1,DBGrid.Columns.Count);
        for i:=1 to dataset.fieldCount do
            WordTable.Cell(1,i).Range.InsertAfter(dataset.fields[i-1].fieldname);    i:=2;
        with DataSet do
          while not eof do
            begin
              for j:=1 to dataset.fieldCount do
                begin
                     WordTable.Cell(i,j).Range.InsertAfter(dataset.fields[j-1].Value);
                end;
              Next;
              Inc(i);
            end;
        wordapp.Visible:=true;
        result:=true;
      except
        wordapp.visible:=true;
        wordapp.quit;
      end;
    end;没有测试过的:)
      

  12.   

    EXCEL格式的,不过参数是DBGRID
    function ExportToExcel(dbgrid:tdbgrid):boolean;
    const
      xlNormal=-4143;
    var
      i,j,k:integer;
      str,filename:string;
      excel:OleVariant;
      SavePlace: TBook;
      savedialog:tsavedialog;
      ProgressBar1:TProgressBar;
    begin
      result:=false;
      filename:='';
      if not dbgrid.DataSource.DataSet.Active then
         begin
           application.MessageBox('数据集尚未打开!','错误',0);
           exit; 
         end;
      screen.Cursor:=crHourGlass;
      try
        excel:=CreateOleObject('Excel.Application');
        excel.workbooks.add;
      except
         screen.cursor:=crDefault;
        showmessage('无法调用Excel!');
        exit;
      end;
      savedialog:=tsavedialog.Create(nil);
      savedialog.Filter:='Excel文件(*.xls)|*.xls';
      if savedialog.Execute then
         begin
           if FileExists(savedialog.FileName) then
              try
                if application.messagebox('该文件已经存在,要覆盖吗?','询问',mb_yesno+mb_iconquestion)=idyes then
                   DeleteFile(PChar(savedialog.FileName))
                else
                   begin
                     Excel.Quit;
                     savedialog.free;
                      screen.cursor:=crDefault;
                     Exit;
                   end;
              except
                Excel.Quit;
                savedialog.free;
                 screen.cursor:=crDefault;
                Exit;
              end;
           filename:=savedialog.FileName;
         end;
      savedialog.free;
      if filename='' then
         begin
           result:=true;
           Excel.Quit;
           screen.cursor:=crDefault;
           exit;
         end;
      k:=0;
      for i:=0 to dbgrid.Columns.count-1 do
        begin
          if dbgrid.Columns.Items[i].Visible then
             begin
               //Excel.Columns[k+1].ColumnWidth:=dbgrid.Columns.Items[i].Title.Column.Width;
               excel.cells[1,k+1]:=dbgrid.Columns.Items[i].Title.Caption;
               inc(k);
             end;
        end;  dbgrid.DataSource.DataSet.DisableControls;
      saveplace:=dbgrid.DataSource.DataSet.GetBook;
      dbgrid.DataSource.dataset.First;
      i:=2;  ProgressBar1:=ProgressBarform(dbgrid.DataSource.DataSet.RecordCount);
      while not dbgrid.DataSource.dataset.Eof do
        begin
          k:=0;
          for j:=0 to dbgrid.Columns.count-1 do
            begin
              if dbgrid.Columns.Items[j].Visible then
                 begin
                   excel.cells[i,k+1].NumberFormat:='@';
                   if not dbgrid.DataSource.dataset.fieldbyname(dbgrid.Columns.Items[j].FieldName).isnull then
                      begin
                        str:=dbgrid.DataSource.dataset.fieldbyname(dbgrid.Columns.Items[j].FieldName).value;
                        Excel.Cells[i, k + 1] := Str;
                      end;
                   inc(k);
                 end
              else
                 continue;
            end;
          inc(i);
          ProgressBar1.StepBy(1);
          dbgrid.DataSource.dataset.next;
        end;
      progressbar1.Parent.Free;  dbgrid.DataSource.dataset.GotoBook(SavePlace);
      dbgrid.DataSource.dataset.EnableControls;  try
        if copy(FileName,length(FileName)-3,4)<>'.xls' then
           FileName:=FileName+'.xls';
        Excel.ActiveWorkbook.SaveAs(FileName, xlNormal, '', '', False, False);
      except
        Excel.Quit;
        screen.cursor:=crDefault;
        exit;
      end;
      Excel.Visible := true;
      screen.cursor:=crDefault;
      Result := true;
    end;