[Lazarus-es] tquery insertar imagen en mysql

Rafael Bidegain r.bidegain en gmail.com
Mar Sep 29 22:00:59 CEST 2009


El día 29 de septiembre de 2009 15:43, Horacio Jamilis
<hjamilis en pymesoft.com.ar> escribió:
>
> Debieras usar algo asi como
>
> sqlquery1.Params[0].LoadFromFile([Nombre de Archivo]);
>
> No lo cargues primero a un TImage.
>
> Si por el contrario lo tienes en un timage, creas un tmemorystream, grabá la
> imagen del timage con...
>
> procedure ....
> var
>  ms : TMemoryStream;
> begin
>  ms := TMemoryStream.Create;
>  Image1.Picture.Bitmap.SaveToStream(ms);
>  ms.Position := 0;
>  sqlquery1.Params[0].LoadFromStream(ms);
>  [...]
>
> Espero que te sirva

gracias Horacio, me sirvio bastante.

un detalle que tuve que agregar a tu solucion es especificar un
parametro adicional que me solicita LoadFromStream, quedó así
sqlquery1.Params[0].LoadFromStream(ms, ftBlob);
con eso puede hacer el insert pero no puedo visualizar la imagen en un
dbImage asociado al dbgrid.

de paso te hago otra consulta respecto a tu solucion.
es necesario liberar la memoria del Stream luego de usarla?
yo la estoy liberando con Stream.free, pero me gustaría estar seguro.

en la primera linea de tu solucion me sugieres que no cargue la imagen
en un timage.
como me sugieres que lo haga?

saludos
-- 
Rafael Bidegain

Ya que los cuerdos no hablan, hablará el loco.
(The Fool, Padraic Pearse)




More information about the Lazarus-es mailing list