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 27-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 20
(VIH)Lestat Va por buen camino
Problemas con DBImage

Disculpen tengo problemas con el DBImage....

en mi base de datos tengo un campo que se llama IMAGEN y es de tipo BLOB que es lo que almacena este tipo de dato?? La imagen o la ruta de la imagen????

Bueno el problema no es guardar las imagenes, el problema es cuando quiero mostrarlas, es decir ejecuta mi consulta en SQL y pues tengo vinculado el DBIMAGE con el IBQuery con el atributo IMAGEn de la tabla ... entonces cuando se termina de ejecutar la consulta me aparece un error que dice INVALID BITMAP que acaso no carga la imagen automaticamente????

Sera que tengo que cargarla yo mismo mediante la propiedad LOADPICTUREFROMFILE() pero como le paso la ruta de la imagen?????
Responder Con Cita
  #2  
Antiguo 27-06-2005
frudolph frudolph is offline
Miembro
 
Registrado: oct 2004
Posts: 40
Poder: 0
frudolph Va por buen camino
Estimado: te cuento que el campo BLOB sería el bitmap en sí (BLOB vendría a significar algo así como: Binary Large Object Block, si mal no recuerdo).

Los controles (por ejemplo: TDBIMage) que hacen referencia a este tipo de campo contienen una "interfaz" en su interior que traduce el contenido a una imagen en tu caso particular. Ahora bien, siguiendo con el tema, una imagen no es sólo un mapa de bits, sino que además contiene una cabecera que indica: el tipo de imagen, el tamaño (alto x ancho), la paleta de colores que usa, etc. Así que posiblemente tengas guardado en tu campo algo que no es precisamente una imagen y de ahí el error (por experiencia, a los mensajes de error hay que creerles, así que si te dice INVALID BITMAP, es porque tienes un bitmap no válido y no le des más vueltas :-) ).

Para cargar una imagen en tu campo BLOB lo podés hacer desde el portapapeles o bien con alguna función como la que mencionas.

Como ejemplo, te paso esta porción de código para cargar ina imagen desde un archivo haciendo doble click sobre el DBIMage:

Código Delphi [-]
procedure TForm1.DBImage1DblClick(Sender: TObject);
var
  D: TOpenDialog;
begin
  D := TOpenDialog.Create(nil);
  try
    if D.Execute then
      with TDBImage(Sender) do
        begin
          if not (DataSource.State in [dsEdit, dsInsert]) then
            DataSource.DataSet.Edit;
          Picture.LoadFromFile(D.FileName);
        end;
    finally
      D.Free;
    end;
end;

Última edición por frudolph fecha: 27-06-2005 a las 17:02:51.
Responder Con Cita
  #3  
Antiguo 27-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 20
(VIH)Lestat Va por buen camino
ok.. entonces sabes lo que creo que me pasa.. es que al momento de guardar mis datos en el campo donde esta la imagen .. se debe guardar como IMAGEN cierto???? y no como string.. (o sea la ruta donde esta la imagen) pero tengo otra duda... en DELPHI no me acepta los tipos de datos BLOB que tipo de dato en DELPHI es compatible con el BLOB ...

Mira es que mis datos que estan en los EDITS los almaceno primero en unas variables y luego se las paso a los querys como paramatros para almacenar los valores.... pero la variable donde almaceno la imagen la tengo declarada como BLOB pero no me la acepta.. entonces le puse de tipo TPicture para que sea compatible con el parametro y pues tampoco me la carga.... que debo hacer????
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


La franja horaria es GMT +2. Ahora son las 08:48:27.


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