zoukankan      html  css  js  c++  java
  • 将二进制数据导出本地文件

      将文件以二进制文件的形式存放到数据库中,需要时再将其导出来,首先看下实现代码:

    方法1:直接以文件形式导出:

    Procedure ExportAttachment(AdoConn: TADOConnection);
    var
      pAdoQry: TADOQuery;
      sSQL, sFileName: string;
    begin
      pAdoQry := TADOQuery.Create(nil);
      pAdoQry.Connection := AdoConn;
      
      try
        sSQL := 'SELECT * FROM TUXKNR';
        if not OpenSQL(pAdoQry, sSQL) then Exit; // OpenSQL:公共函数
    
        sFileName := 'D:	mp	mp.dwg';
        if FileExists(sFileName) then
          DeleteFile(sFileName);
          
        if pAdoQry.FieldByName('TUNR').IsNull then Exit;
        TBlobField(pAdoQry.FieldByName('TUNR')).SaveToFile(sFileName);  // TBlobField /r:DB
      finally
        FreeAndNil(pAdoQry);
      end;          
    end;
    

     方法2:以流的形式导出: 

    Procedure ExportAttachment(AdoConn: TADOConnection);
    var
      pAdoQry: TADOQuery;
      pStream: TMemoryStream;   //r:classes
      pJpg: TJPEGImage;         //r:jpeg
      sSQL: string;
    begin
      pAdoQry := TADOQuery.Create(nil);
      pAdoQry.Connection := AdoConn;
      
      try
        sSQL := 'SELECT * FROM TUXKNR';
        if not OpenSQL(pAdoQry, sSQL) then Exit; // OpenSQL:公共函数
          
        if pAdoQry.FieldByName('TUNR').IsNull then Exit;
    
        pStream:= TMemoryStream.Create;
        pJpg := TJPEGImage.Create;
        try
          TBlobField(pAdoQry.FieldByName('TUNR')).SaveToStream(pStream);
          pStream.Position := 0;
          pJpg.LoadFromStream(pStream);
          imgSign.Picture.Assign(pJpg); // imgSign:图片控件(为了显示效果)
        finally
          pJpg.Free;
          pStream.Free;
        end;
      finally
        FreeAndNil(pAdoQry);
      end;          
    end;
    
  • 相关阅读:
    __dict__和dir()的区别:未完
    [leetcode] Subsets II
    [leetcode] Decode Ways
    [leetcode] Gray Code
    [leetcode] Merge Sorted Array
    [leetcode] Partition List
    [leetcode] Scramble String
    [leetcode] Maximal Rectangle
    [leetcode] Remove Duplicates from Sorted List II
    [leetcode] Remove Duplicates from Sorted List
  • 原文地址:https://www.cnblogs.com/hachun/p/4434711.html
Copyright © 2011-2022 走看看