Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2008
Avatar de Luis M.
[Luis M.] Luis M. is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Ripollet - Barcelona
Posts: 212
Poder: 20
Luis M. Va por buen camino
Sp,firebird,campo blob binary

Hola.
A ver si me podéis ayudar con este tema.
Uso D2007, Firebird 2.0.4 y MDO

Tengo el siguiente Sp:
Código Delphi [-]
CREATE PROCEDURE BUSCA_ESTADO (codigo varchar(10))
returns ( bandera blob sub_type 0 segment size 80, nombre varchar(30))
as
begin
  /* Procedure Text */
  select NOMBRE,IMAGEN from ESTADOS where CODIGO = :codigo
  into :nombre,:bandera;
  suspend;
end

Desde código lo llamo:

Código Delphi [-]
    DM.SP.StoredProcName := 'BUSCA_PAIS';
    DM.SP.Prepare;
    try
      DM.SP.Params.ParamValues['CODIGO'] := cCodigo;
      DM.SP.ExecProc;
      DBPaisBandera.Picture := DM.SP.ParamByName('BANDERA').Value;<- Aquí es donde no se como hacerlo.
      LabelPais.Caption := DM.SP.ParamByName('NOMBRE').AsString;
    finally
      DM.SP.UnPrepare;
    end;

DBPaisBandera es JvDBImagen.

¿Alguna sugerencia?
Gracias por vuestra ayuda.
Saludos.
Responder Con Cita
  #2  
Antiguo 10-07-2008
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
hola

Código Delphi [-]
var STREAM:TMemoryStream;
bitmap:tbitmap;
begin
DM.SP.StoredProcName := 'BUSCA_PAIS';    DM.SP.Prepare;    try
      DM.SP.Params.ParamValues['CODIGO'] := cCodigo;
      DM.SP.ExecProc;
      STREAM:=TMemoryStream.Create;
      bitmap:=tbitmap.Create;
      DM.SP.ParamByName'BANDERA').SaveToStream(STREAM);
      stream.Seek(0,sofrombeginning);
      bitmap.LoadFromStream(stream);
      DBPaisBandera.Picture.Bitmap.Assign(bitmap);
      LabelPais.Caption := DM.SP.ParamByName('NOMBRE').AsString;
    finally
      DM.SP.UnPrepare;
       bitmap.Free;
       STREAM.Free;
    end;
end;


No se si te funcionara yo no utilizo estos componentes, pero la idea es pasarlo a un stream y luego cargarlo, no se si se podria pasar del bitmat i hacer load directamente al picture, pero mi codigo lo tengo asi y supongo que es porque sin el bitmap no me funcionaba

Saludos y suerte
Responder Con Cita
  #3  
Antiguo 10-07-2008
Avatar de Luis M.
[Luis M.] Luis M. is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Ripollet - Barcelona
Posts: 212
Poder: 20
Luis M. Va por buen camino
Hola.
Gracias por responder.
Ahora estoy en el trabajo, pero esta tarde, en cuando llegue a casa
lo pruebo y te comento.

Un saludo.
Responder Con Cita
  #4  
Antiguo 11-07-2008
Avatar de Luis M.
[Luis M.] Luis M. is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Ripollet - Barcelona
Posts: 212
Poder: 20
Luis M. Va por buen camino
Hola.
Pendón por la tardanza.
Al final no supe como hacerlo (novato que es uno).
Así que basándome en este hílo
pude solucionarlo.

Aquí dejo el código:
Código Delphi [-]
var
  Blob: TBlobField;
  jpg : TJpegImage;
begin
  Busca_Pais := TBusca_Pais.Create(Self);
  try
    cState := 'BUSCAR';
    Busca_Pais.ShowModal;
  finally
    FreeAndNil(Busca_Pais);
    if cCodigo <> '' then DBPais.Text := cCodigo;

    DM.QVarios.Close;
    DM.QVarios.SQL.Text := 'Select NOMBRE,IMAGEN From PAISES Where CODIGO = '+
                            QuotedStr(cCodigo);
    DM.QVarios.Open;

    Blob := DM.QVarios.FieldByName('IMAGEN') as TBlobField;
    jpg := TJpegImage.Create;
    jpg.Assign(Blob);
    DBPaisBandera.Picture.Graphic := jpg;
    LabelPais.Caption := DM.QVarios.FieldByName('NOMBRE').AsString;
    cCodigo := '';
    cState := '';
    FreeAndNil(jpg);
  end;

Un saludo y gracias.

Última edición por Luis M. fecha: 11-07-2008 a las 11:33:56.
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
Incremento tamaño Firebird por campo blob Rockin Firebird e Interbase 7 03-12-2007 22:39:45
Campo BLOB Loviedo Oracle 1 05-05-2006 10:36:31
Error al conectar tabla Firebird con campo blob vichovi Conexión con bases de datos 2 02-06-2005 09:18:41
Grabar Imagen en campo BLOB Firebird pcicom Conexión con bases de datos 0 06-04-2005 01:34:06


La franja horaria es GMT +2. Ahora son las 22:22:56.


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