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 11-08-2005
kpss8m kpss8m is offline
Registrado
 
Registrado: feb 2004
Posts: 7
Poder: 0
kpss8m Va por buen camino
Guarda Imagen en Campo Blob con Sql

He buscado en el foro como guardar imagenes en campos blob de un TImage, encontre varias soluciones pero no me sirven, el motivo es el siguiente, no tengo forma de conocer la ruta de la imagen pero tengo la imagen cargada ya en un TImage y no encuentro como guardarla directamente, agradeceria cualquier informacion.
Responder Con Cita
  #2  
Antiguo 12-08-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Mira no recuerdo el tipo se escribe exactamente asi no tengo delphi ala mano para probar
Código Delphi [-]
var
   b : tblobfield;
   m: TMemoryStream;
begin
   b := tblobfield.create(self);
   m := TMemoryStrean.create;
   try
     Image.SaveTostrean(M);
     B.LoaddFromStrean(M);  
   Finally 
     m.Free;
   End; 
   Query.FieldByname('Campo') := B; 
End;
No es seguro que este codigo funcione perfecto como ya lo dije antes no tengo delphi a la mano.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #3  
Antiguo 16-08-2005
kpss8m kpss8m is offline
Registrado
 
Registrado: feb 2004
Posts: 7
Poder: 0
kpss8m Va por buen camino
re:Resp

Gracias por tu respuesta rastafarey, habia intentado hacer algo parecido pero no me funcionaba, mi problema es que estaba intentando utilizar un TStream en vez de un TMemoryStrean. Me Puse A buscar Hacerca de TMemoryStream y encontre estos enlaces interesantes, los dejo por si a alguien mas le sirven:

http://www.forumweb.com.br/forum/lofiversion/index.php/t1935.html
http://latiumsoftware.com/en/pascal/0011.php

A si Mismo modifique el codigo y quedo de la siguiente forma

Código Delphi [-]
  Procedure GuardaLogo;
  Var
    sSql : String;
    bs : TMemoryStream;
  Begin
    DM.ibqOp.Close;
    DM.ibqOp.SQL.Clear;
    DM.ibqOp.SQL.Add('INSERT INTO usuarios (id, logo) values (:id, :logo);');
    DM.ibqOp.ParamByName('id').AsInteger := 1;
  
    // Carga de una imagen en un campo BLOB y Guardarlo en un TImage
    // Referencia 
    //            http://www.forumweb.com.br/forum/lof...php/t1935.html
    //            http://latiumsoftware.com/en/pascal/0011.php
    bs := TMemoryStream.Create;
    if imgLogo.Picture <> nil Then
      if imgLogo.Picture.Graphic <> nil Then
      imgLogo.Picture.Graphic.SaveToStream(bs);
  
    DM.ibqOp.ParamByName('LOGO').LoadFromStream(bs, ftBlob);
  
    DM.ibqOp.ExecSQL;
  End;
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 12:31: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