Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2006
Avatar de Picard
Picard Picard is offline
Miembro
 
Registrado: may 2004
Ubicación: Palamos
Posts: 23
Poder: 0
Picard Va por buen camino
Problemas con DBImage y access

Tengo una DB Access xp y me ha ocurrido lo siguiente:
Esta DB esta formada por una serie de tablas que contienen diversos campos y en casi todas las tablas hay un campo "Imagen" Objeto OLE en el que he insertado unas imagenes .bmp. al intentar visualizar estas imagenes en un DBImage, tanto en bds2006 como en bcb6 como en Delphi 7 me da un error de compilacion "Bitmap is not valid image" si alguien se ha encontrado en el mismo caso o sabe como solucionarlo por favor echadme una mano
muchisimas gracias
Responder Con Cita
  #2  
Antiguo 27-01-2006
>BuenzeuS< >BuenzeuS< is offline
Registrado
 
Registrado: ene 2006
Ubicación: Olavarría, Bs As - Argentina
Posts: 1
Poder: 0
>BuenzeuS< Va por buen camino
No es solo un BMP

Hola a todos... Este es mi primer post en su foro y supongo no sera el ultimo.

Aca te dejo un link donde encontraras informacion al respecto
http://www.efg2.com/Lab/Library/Delp...ind/index.html

Básicamente el problema radica en que el objeto que access guarda no es solo una imágen BMP sino que tmb contiene información adicional de el programa con el cual debe abrirlo.

En el html encontraras 2 métodos alternativos. Se que alguna vez lo hice pero ahora no tengo a mano el código si luego lo encuentro lo agrego al thread

Espero haberte ayudado

SaLuDoS

Edit: Ahora que lo mire tranqui... en los 2 códigos de ejemplos saltean los primeros 78 bytes del BLOB y eso se debe a que los BMP comienzan con 0x424d o sea BM. Los primeros 78 son la información que Access agrega. ^^

Última edición por >BuenzeuS< fecha: 27-01-2006 a las 13:58:00.
Responder Con Cita
  #3  
Antiguo 27-01-2006
Avatar de Capo
Capo Capo is offline
Miembro
 
Registrado: jul 2004
Posts: 64
Poder: 20
Capo Va por buen camino
Cool

Buenos dias.
Alguna vez pase por lo mismo y lo resolví utilizando un TImage, al mostrar el form que contenía el TImage, le enviaba esto:

Código Delphi [-]
MiForm.Image1.Picture.Bitmap.Assign(DataModule1.TablaAccess.FieldByName('IMAGEN'));
Espero te sirva de algo. Saludos. Dabeto
Responder Con Cita
  #4  
Antiguo 27-01-2006
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Este enlace puede ser de utilidad..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #5  
Antiguo 30-01-2006
Avatar de Picard
Picard Picard is offline
Miembro
 
Registrado: may 2004
Ubicación: Palamos
Posts: 23
Poder: 0
Picard Va por buen camino
Muchisimas gracias por vuestra ayuda,no he conseguido traducir correctamente el documento,no obstante creo haber hallado la solucion, ahora al insertar objecto en el campo hago lo siguiente:
insertar objeto /crear archivo desde /vincular seleccionado /elegir imagen a ver si asi consigo visualzar las mimagenes de mi db en bcb6
Responder Con Cita
  #6  
Antiguo 30-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 19
Jonnathan Va por buen camino
Hola Picard, hace tiempo me toco hacer varios programas con bases de datos en Access que tenían imágenes y se que es un dolor de cabeza porque la forma como guarda las imagenes Access dentro del campo es diferente a la forma como la leen los componentes de Delphi. Al final terminé haciendo un pequeño programita en Delphi para guardar las imágenes sin usar el Access.

Es simple y lo puedes hacer rápido colocando un control TImage, un DBImage, un TOpenPictureDialog, un TDBGrid (para saber en cual registro estas ubicado) y los usuales TTable y TDatasource.
Código Delphi [-]
//1.- Navegas en tu tabla con el DBGrid y pones el registro que te interesa en modo de edicion 
Table->Edit();
//2.- Usas el TOpenPictureDialog para navegar por el disco duro buscando la imagen 
OpenPictureDialog->Execute();
//3.- Cargas la imagen en el TImage con 
Image->LoadFromFile(OpenPictureDialog->FileName);
//4.- Asignas la imagen cargada en el TImage al DBImage mediante
DbImage->Field->Assign(Image->Picture->Bitmap);
//5.- Guardas tu registro 
Table->Post();
Advertencias: Guardar imágenes grandes en la base de datos afectará seriamente el rendimiento de la misma. Los archivos JPEG son comprimidos pero se guardarán descomprimidos en el campo Blob de la tabla.
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada

Última edición por Jonnathan fecha: 30-01-2006 a las 21:18:58.
Responder Con Cita
  #7  
Antiguo 31-01-2006
Avatar de Picard
Picard Picard is offline
Miembro
 
Registrado: may 2004
Ubicación: Palamos
Posts: 23
Poder: 0
Picard Va por buen camino
Muchas gracia jonnathan voy a probarlo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con Tquery y base de Access!!! JELIRM SQL 3 21-07-2005 23:21:39
Problemas con DBImage (VIH)Lestat Conexión con bases de datos 2 27-06-2005 19:09:42
Problemas Access, DbImage - Objeto OLE jsc Conexión con bases de datos 3 27-01-2005 21:41:37
Problemas al conectarme con Access 2003 robinsongm Tablas planas 2 28-12-2004 08:43:11
Problemas con Access 2000 !!! vpepen Conexión con bases de datos 4 26-11-2003 16:45:01


La franja horaria es GMT +2. Ahora son las 13:42:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi