Saludos amigos, estoy intentando grabar una imagen que tengo en un componente cxImage hacia la BD, la imagen la obtengo desde la camara web, luego la pongo en Clipboard en BMP:
Este codigo funciona bien:
Código Delphi
[-]procedure TForm9.BitBtn1Click(Sender: TObject);
var
MyFormat : Word;
AData : THandle;
APalette : HPALETTE;
begin
img.Picture.SaveToClipboardFormat(MyFormat, AData, APalette);
ClipBoard.SetAsHandle(MyFormat,AData);
form3.imgEnClipBoard:=true;
form9.Hide;
end;
Luego en el otro formulario en OnActivate intento que la imagen se muestre y luego se grabe en su tabla correspondiente:
Código Delphi
[-]procedure TForm3.FormActivate(Sender: TObject);
var
nomArch:string;
BlobFieldValue:TMemoryStream;
begin
if imgEnClipBoard=false then
tab.PageIndex:=0
else
begin
BlobFieldValue:=TMemoryStream.Create;
imgFoto2.Picture.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap), 0);
imgFoto2.Picture.Bitmap.SaveToStream(BlobFieldValue);
dm.q_UPDFoto.Close;
dm.q_UPDFoto.Params[0].LoadFromStream(BlobFieldValue,ftblob);
dm.q_UPDFoto.ParamByName('IDPerx').AsInteger:=StrToInt(txtID.Text);
dm.q_UPDFoto.ExecSQL;
end;
El error aparece en la linea:
dm.q_UPDFoto.ExecSQL;
El error que aparece es el siguiente:
El SQL del componente q_UPDFoto es el siguiente:
Código SQL
[-]UPDATE personal set foto=:FOTOX
where id_personal=:IDPerx
Agradezco cualquier alcance que me puedan brindar.