HELP: Insert/Retrieve Photo to Database

Discussion of open issues, suggestions and bugs regarding MyDAC (Data Access Components for MySQL) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
ton_cut345
Posts: 13
Joined: Fri 21 Aug 2009 04:12

HELP: Insert/Retrieve Photo to Database

Post by ton_cut345 » Fri 13 Apr 2012 05:37

Hi,

I would like to ask help regarding on how to retrieve and insert/update image in the database using TMyTAble?

and restrict users to upload only jpeg image.

Thank you for you help. :D

AndreyZ

Post by AndreyZ » Fri 13 Apr 2012 09:44

Hello,

To store images in a MySQL database, you can use the BLOB, MEDIUMBLOB, or LONGBLOB MySQL data types (depending on images size). Here is a code example:

Code: Select all

procedure TMainForm.ButtonClick(Sender: TObject);
begin
  MyTable.TableName := 'tablename';
  MyTable.Open;

  // inserting
  MyTable.Insert;
  MyTable.FieldByName('id').AsInteger := 1; // id is INT
  TBlobField(MyTable.FieldByName('blb')).LoadFromFile('jpeg_filename'); // blb is MEDIUMBLOB
  MyTable.Post;

  //updating
  MyTable.Edit;
  TBlobField(MyTable.FieldByName('blb')).LoadFromFile('jpeg_filename');
  MyTable.Post;

  //retrieving
  TBlobField(MyTable.FieldByName('blb')).SaveToFile('jpeg_filename');
end;

Post Reply