zoukankan      html  css  js  c++  java
  • 保存ADO的记录集为XML文件

    #include "stdafx.h"
    #import  "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
    int main(int argc,char* argv[])
    {
     printf("Export recordset as xml file/n");
     CoInitialize(NULL);
     try
     {
      _variant_t  varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);  
      _ConnectionPtr  pConn("ADODB.Connection");
      pConn->Open(_bstr_t("Provider=SQLOLEDB.1;Password=sa;Persist   Security   Info=True;User   ID=sa;Initial   Catalog=Northwind;Data   Source=(local)"),"","",adConnectUnspecified);
      _StreamPtr  stream;
      stream.CreateInstance("ADODB.Stream");
      stream->raw_Open(varOptional,adModeUnknown,adOpenStreamUnspecified,NULL,NULL);
      stream->put_Type(adTypeText);
      _CommandPtr     Cmd1;
      Cmd1.CreateInstance(__uuidof(Command));
      Cmd1->ActiveConnection = pConn;
      Cmd1->CommandText= _bstr_t("Select * from Table1 for XML Auto");
      PropertiesPtr   props;
      props=Cmd1->GetProperties();
      PropertyPtr  prop;
      prop = props->Item[_variant_t("XML Root")];
      prop->PutValue(_variant_t("root"));
      prop = props->Item[_variant_t("Output Stream")];
      prop->PutValue(_variant_t((IDispatch *)stream, true));
      Cmd1->Execute(&varOptional,&varOptional,adExecuteStream);
      stream->SaveToFile("test.xml",adSaveCreateOverWrite);
      printf("Save stream to file finished/n");
      stream->Close();
      pConn->Close();
     }
     catch(_com_error &e)
     {
      char   buf[1024];
      wsprintf(buf,"Description = '%s'/n", (char*)e.Description());
      ::MessageBox(NULL,buf,"error",MB_OK);
     }
     ::CoUninitialize();
     return   0;
    }
     
  • 相关阅读:
    0316-复利计算更新
    实验一 了解和掌握操作系统
    复利计划1.0
    0916 词法分析(2)
    0916词法分析
    0909 编译原理 第1次上机
    单元测试代码
    单元测试
    实验一:命令解释程序
    《构建之法》现代软件工程第1、2、3章读后感
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330108.html
Copyright © 2011-2022 走看看