zoukankan      html  css  js  c++  java
  • delphi OleVariant转换RecordSet

    delphi OleVariant转换RecordSet

     uses Data.Win.ADODB;

    function varToRecordSet( parms : OleVariant )  : Data.Win.ADODB._Recordset;
      begin
        Result := IDispatch( parms ) as Data.Win.ADODB._Recordset;
    
      end;
    
    function RecordSetToVar( prs : _Recordset ) : OleVariant;
    
      begin
        Result := prs;
      end;
    function recordSetToXMLString(prs:winapi.ADOInt._Recordset): string;
      var
      astr:string;
      stream:TStringStream;
      begin
       stream := TStringStream.Create('');
    
       prs.Save(TStreamAdapter.Create(stream) as IUnknown,adPersistXML);
       stream.Position:=0;
       astr:=stream.DataString;
       stream.Free;
       Result := astr;
    
      end;
    
      function xmlStringToRecordSet(pxml:string): _Recordset;
      var
      drs:Data.Win.ADODB._Recordset;
      irs:winapi.ADOInt._Recordset;
      RS: Variant;
      stream:TStringStream;
      begin
         stream := TStringStream.Create(pxml);
         stream.Position:=0;
         RS := CreateOleObject('ADODB.Recordset');
          RS.Open(TStreamAdapter.Create(stream) as IUnknown);
    
         Result := IUnknown(RS) as winapi.ADOInt._Recordset;
      end;

    ids: IDispatch;

     ADODataSet1.Recordset :=  ids  as _Recordset;

  • 相关阅读:
    nth_element 使用方法
    Codeforces-1326E Bombs
    GDB下调试查看数组部分内容
    0930,主外键设置
    0928,数据库
    0924,函数返回多个值
    0921,函数 枚举
    0920,结构体
    0918,练习题
    0916,双色球练习题
  • 原文地址:https://www.cnblogs.com/cb168/p/4945794.html
Copyright © 2011-2022 走看看