• Domingo 21 de Julio de 2024, 15:39

Autor Tema:  JPEG en una base de datos  (Leído 1383 veces)

gonzalipto

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
JPEG en una base de datos
« en: Jueves 6 de Noviembre de 2008, 16:43 »
0
Hola gente! soy nuevo trabajando cno bases de datos en C++ builder..

Necesito muy urgente saber como guardar imagenes jpeg en una base de datos y como recuperarla...

En internet no encuentro nada y solo hay cosas para delphi lo cual no lo entiendo para traducirlo a c++...

Vi que hay una forma utilizando blobstreams y otras cosas..

por favor si alguno sabe cuenteme.

Gonzalo

zoomlogon

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: JPEG en una base de datos
« Respuesta #1 en: Viernes 7 de Noviembre de 2008, 02:31 »
0
puedes crear en tu tabla un campo que se llame DIRECCION para ahi guardar la direccion de la imagen, lo puedes hacer con un OpenDialog o tambien con un OpenPictureDialog en su propiedad filename de esa manera puedes guardar la direccion de la imagen en la tabla para despues poder mostrarla con un componente Image o DBImage

gonzalipto

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: JPEG en una base de datos
« Respuesta #2 en: Viernes 7 de Noviembre de 2008, 08:01 »
0
Gracias!!!

Me sirvio mucho tu respuesta..

Pero el problema es que necesito hacerlo almacenando las imagenes.. habia pensado en hacerlo con los links pero me faltaba aprender un par de cosas que las aprendi de tu respuesta..

Logre almacenar al fin las imagenes dentro de la base de datos... pero tengo un dbgrid y cuando le pongo para agregar un nuevo registro lo agrega siempre al final...

Aca les paso el codigo..

void __fastcall TForm1::Button3Click(TObject *Sender)
{
 if(Abrir->Execute())
{
Table1->Append();
Image1->Picture->LoadFromFile(Abrir->FileName);

TBlobStream *Bs;
Bs =new TBlobStream ((TBlobField *)Table1->Fields->Fields[7], bmWrite);
Image1->Picture->Graphic->SaveToStream(Bs);
}
}

//////////////////////////////////////////////////////////////////////////
void __fastcall TForm1::Button4Click(TObject *Sender)
{
     if (Table1->Fields->Fields[7]->IsNull)
     Image1->Picture->Graphic = NULL;
      else
     {
     TBlobStream *Bs;
     Bs =new TBlobStream ((TBlobField *)Table1->Fields->Fields[7], bmRead);
     TJPEGImage *Graphic;
     Graphic=new TJPEGImage;
     Graphic->LoadFromStream(Bs);
     Image1->Picture->Graphic = Graphic;
     }
}

Espero que alguno pueda ayudarme

Gracias