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;
    
  • 相关阅读:
    Dual Boot WINDOWS 10 and KALI LINUX Easily STEP BY STEP GUIDE截图
    【Head First Servlets and JSP】笔记8:监听者
    【网络】TCP的流量控制
    【Nginx】I/O多路转接之select、poll、epoll
    【Nginx】ngx_event_core_module事件模块
    【网络】TCP协议
    【网络】运输层
    【APUE】进程间通信之FIFO
    【APUE】文件I/O
    【c++】c++一些基础面试题
  • 原文地址:https://www.cnblogs.com/hachun/p/4434711.html
Copyright © 2011-2022 走看看