🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.database.ado
Article #2786

storing / retrieving images in a database

#2786
From: lance
Date: Mon, 17 Mar 2003 04:56
68 lines
2622 bytes
The following code works, but I would like to run it
past someone knowledgeable for a bit of a critique.
Basically, I am inserting an image into a database record,
then later retrieving an image.

The image is shown and saved from a TImage. 

Thanks inadvance for your comments.

//---------------------------------------------------------------
void __fastcall TMainForm::InsertBtnClick(TObject *Sender)
{
  AnsiString cmdText;

  cmdText = "INSERT INTO Picture ";
  cmdText = cmdText + "(PictureNumber,PictureBlob) VALUES (";
  cmdText = cmdText + Edit1->Text + ",:pic)";

  ADOQuery->Active = false;
  ADOQuery->SQL->Clear();
  ADOQuery->SQL->Add(cmdText);

  if(Image1->Picture != NULL)
    ADOQuery->Parameters->Items[0]->Assign(Image1->Picture);
  else
    ADOQuery->Parameters->Items[0]->Assign(NULL);

  try
  {
     ADOQuery->ExecSQL();
  }
  catch(...)
  {
      ShowMessage("error in database insert: " + cmdText);
  }

}
//---------------------------------------------------------------
void __fastcall TMainForm::RetrieveBtnClick(TObject *Sender)
{
  AnsiString cmdText;
  char* temp = new char[MAX_PATH];

  Image1->Picture = NULL;

  cmdText = "SELECT * FROM Picture ";

  ADOQuery->Active = false;
  ADOQuery->SQL->Clear();
  ADOQuery->SQL->Add(cmdText);

  try
  {
     ADOQuery->Open();
     ADOQuery->Active = true;
  }
  catch(...)
  {
      ShowMessage("error in database select: " + cmdText);
      return;	
  }

  TBlobField* myBlob = (TBlobField*)ADOQuery->FieldByName        ("PictureBlob");
   if(myBlob->IsBlob())
    Image1->Picture->Assign(myBlob);
}
//---------------------------------------------------------------
Technical Details
Message-ID: <3e755596$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10698b,2fc3d06c50d0e4ba,start
X-Google-Attributes: gid10698b,public
X-Google-ArrivalTime: 2003-03-16 21:08:53 PST
From: "lance" <palat_l@tdipower.com>
Sender: "lance" <palat_l@tdipower.com>
Reply-To: "lance" <palat_l@tdipower.com>
Subject: storing / retrieving images in a database
Newsgroups: borland.public.cppbuilder.database.ado
X-User-Info: 68.84.209.236 68.84.209.236    
NNTP-Posting-Host: 207.105.83.65
Message-ID: <3e755596$1@newsgroups.borland.com>
Date: 16 Mar 2003 20:56:54 -0800
X-Trace: newsgroups.borland.com 1047877014 207.105.83.65 (16 Mar 2003 20:56:54 -0800)
Lines: 69
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail