 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Jue 04 Oct, 2007 8:22 pm Asunto: Grabar una imagen en una base de datos access |
|
|
Buenas a todos, me gustaría saber, si se puede, como puedo grabar una foto bmp/jpg en una tabla de access de office 2003 y que tipo de campo debería asignarle.
Utilizo los componentes TDataSource, TQuery con la propiedad requestlive=true, un dbgrid.
En definitiva como podría grabarlos, exportar las imagenes, guardarlas en una carpeta, copiar en el portapapeles, etc....
Gracias de antemano.
Un Saludo. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 16 Oct, 2007 9:11 am Asunto: |
|
|
| MarioMarieti escribió: | que tipo de campo debería asignarle.
Utilizo los componentes TDataSource, TQuery con la propiedad requestlive=true, un dbgrid |
El tipo de campo: LONGBINARY (Datos binarios largos), Objeto OLE.
| MarioMarieti escribió: | | En definitiva como podría grabarlos |
- Añadir un registro con una imagen:
| Código: | Query1->Append();
Query1->FieldValues["Nombre"] = "Esto es una prueba";
TBlobField* blob = static_cast<TBlobField*>(Query1->FieldByName("Foto"));
blob->LoadFromFile("c:\\miDir\\imagen.jpg");
Query1->Post(); |
| MarioMarieti escribió: | | exportar las imagenes, guardarlas en una carpeta |
- Guardar la imagen del registro actual a disco:
| Código: | TBlobField* blob = static_cast<TBlobField*>(Query1->FieldByName("Foto"));
if (!blob->IsNull)
blob->SaveToFile("c:\\miDir\\imagen.jpg");
else
ShowMessage("No contiene nada"); |
| MarioMarieti escribió: | | copiar en el portapapeles |
- Copiar la imagen del registro actual al portapapeles:
| Código: | //Añadimos: #include<memory> #include<jpeg.hpp> #include<clipbrd.hpp>
TBlobField* blob = static_cast<TBlobField*>(Query1->FieldByName("Foto"));
if (!blob->IsNull)
{
std::auto_ptr<TJPEGImage> img(new TJPEGImage);
// Usar la linea siguiente para BMP en vez de JPEG
// std::auto_ptr<Graphics::TBitmap> img(new Graphics::TBitmap);
std::auto_ptr<TBlobStream> mem(new TBlobStream(blob, bmRead));
img->LoadFromStream(mem.get());
Clipboard()->Assign(img.get());
}
else
ShowMessage("No contiene imagen");
|
|
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|