Buenos dias lista, amigos estoy desarrollando un proyecto con lazarus pero he tenido un problema con la insercion de imagenes en la base de datos ( postgres). la a accion de grabar registro la realizo de la forma Tabla.fieldbyname('campoTipoString').asstring:= edit.tex; , de esta forma funciona bien para campos que no sean tipo imagen, mi pregunta es �como es la forma correcta para ingresar una imagen a la base de datos utilizando esta tecnica?, la imagen la tengo un un componente Timage. Por otra parte tengo otra duda alguien sabe o conoce algun componente con el que se pueda tomar una imagen de una cam y lograr guardarla en la base de datos?, y mi tercera pregunta es con el componente DBListBox, como se llena de manera automatica para que muestre los datos como DBGrid?. de antemano muchas gracias por su ayuda. y que tengan un muy buen dia.
Mailing lists / lazarus-es / 2011-02
campos bytea con imagenes y DBlistbox
4 messages · 4 people · –
- AAnxo Vázquez 1
- DDavid Enamorado 1
- MMaxi 1
- PPaola Bruccoleri 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
El 04/02/2011 11:04 a.m., David Enamorado escribi�:
Show quoted text 8 lines
Hola David..
te pego un mail de Jos� Mejuto de hace un tiempito, con una respuesta que puede servirte..
Hello Christian,
Saturday, December 11, 2010, 9:37:31 PM, you wrote:
CO> SQL.Add('select ' + sImageField );
CO> SQL.Add('from '+ sTable);
CO> SQL.Add('where '+ sCondicion);
CO> Open;
CO> Edit;
CO> TBlobField(FieldByName(sImageField)).LoadFromStream(TheImage);
CO> Post; ///Probe con ApplyUpdates y fue lo mismo/
CO> FreeAndNil(TheImage);
CO> *end;
CO> end; *Sin ver "sCondition" es un poco dif�cil. Si tabla tiene un primary key, seleccionala tambi�n en el select, por que aparenta un bug en el query al generar el update sql sin un campo "primary key".
De todos modos, lo l�gico ser�a hacer eso son un EXECSQL no con un Open :-?
SQL.Text:='Update :pTable Set :pfield=:pfieldvalue where '+sCondition;
ParamByName('pTable').asString:=sTable;
ParamByName('pField').asString:=sImageField;
ParamByName('pField').LoadFromStream(TheImage);
ExecSQL;Hola,
Yo creo que es mejor guardar en la bbdd el nombre de la imagen y la imagen en una carpeta, Si gaurdas la imagen en la bbdd esta crecer� de forma casi exponencial.
LoadFromFile y SaveFromFile te permitir�n manejar la imagen como quiereas.
Un saludo.[?]
El 4 de febrero de 2011 14:42, Paola Bruccoleri
<pbruccoleri en adinet.com.uy>escribi�:
Show quoted text 52 lines
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110209/89f67385/attachment.html> ------------ pr�xima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: image/gif
Size: 96 bytes
Desc: no disponible
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110209/89f67385/attachment.gif>
2011/2/9 Anxo V�zquez <xanxov en esdebian.org>
Show quoted text 72 lines
yo prefiero guardar la imagen el la base, teniendo en cuenta primero el formato, que sea jpg o png lo que te asegura un tama�o no mayor de 600k para una imagen normal no muy grande.
