Scalabium Software

SMExport/SMImport suites
Knowledge for your independence'.
Home Delphi and C++Builder tips


#141: How save a file in BLOB and use later?

If you develop a database related software, then very popular task is to save some files (documents/images/reports/etc) in some BLOB field of table and use these saved data later.

In this tip I want to show how this task could be solved.

To save a file to BLOB:

blob := yourDataset.CreateBlobStream(yourDataset.FieldByName('YOUR_BLOB'), bmWrite);
try
  blob.Seek(0, soFromBeginning);

  fs := TFileStream.Create('c:\your_name.doc', fmOpenRead orfmShareDenyWrite);
  try
    blob.CopyFrom(fs, fs.Size)
  finally
    fs.Free
  end;
finally
  blob.Free
end;

To load from BLOB:

blob := yourDataset.CreateBlobStream(yourDataset.FieldByName('YOUR_BLOB'), bmRead);
try
  blob.Seek(0, soFromBeginning);

  with TFileStream.Create('c:\your_name.doc', fmCreate) do
    try
      CopyFrom(blob, blob.Size)
    finally
      Free
    end;
finally
  blob.Free
end;

Using this code you can work with any database engine (BDE/ADO/DAO/ODBC/DBISAM/etc) and any file format (document of MS Word, spreadsheet of MS Excel, bitmap or jpeg pictures, wav-files etc)


Published: June 19, 2002

See also
 
ABA Spreadsheet Convert
dBase Viewer
Paradox to Text converter
ABA Picture Convert
Fast Document Viewer
DBExport tools
DBISAM Password Recovery
Mail parser (ActiveX)
Database Information Manager
Excel Reader (dll)
 
 


Contact to webmaster

 

Borland Software Code Gear Scalabium Delphi tips

Copyright© 1998-2018, Scalabium Software. All rights reserved.
webmaster@scalabium.com

SMExport/SMImport suites