SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: gonzalipto en Jueves 6 de Noviembre de 2008, 16:43
-
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
-
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
-
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