1.
declarar el uso de unidad
DB y componente Zeos
Código Delphi
[-]unit freg_per;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Buttons,
StdCtrls, MaskEdit,ExtCtrls, ExtDlgs,conexionesbd, ZDataset,DB;
es importante declarar la unidad DB ya que el contiene las constantes para el manejo de varibles tipo blob ejemplo: ftBlob, ptInput si no la declaran el compilador no reconocerá dichas variables
2. este codigo es el que te da la guia de zeoslib:
Código Delphi
[-]Var TheStream : TMemoryStream;
Begin
TheStream := TMemoryStream.Create;
Try
Image1.Picture.Bitmap.Savetostream(TheStream);
With qryBlobInsert do
Begin
Sql.Text := 'INSERT INTO EVENTS (EventNo,EVENT_PHOTO) VALUES (100,:ThePicture)';
Params.Clear;
Params.CreateParam(ftBlob,'ThePicture', ptInput);
ParamByName('ThePicture').LoadfromStream(TheStream,ftBlob);
ExecSQL;
End;
Finally
TheStream.Free;
End;
End;
en mi caso lo adapte a lo que necesitaba:
Código Delphi
[-] TheStream := TMemoryStream.Create;
Try
Image1.Picture.Jpeg.Savetostream(TheStream);
conexiodb.Conectar_Mysql; sqlejecuta:=TZQuery.Create(nil);
With sqlejecuta do
Begin
Connection:= Conexion;
Sql.Text:='INSERT INTO personal(cedula,nom_comp,direccion,telf_movil,'+
'tlf_local,cargo,foto,departamento_iddepart,'+
'parametro_idparametro,'+
'tip_empleado_idtip_emp,id_user) '+
'VALUES('+mcedula+','+ mnom_comp+','+mdireccion+
','+mtelf_movil+','+ mtlf_local+','+mcargo+',:foto'+
','+middepart+','+midparametro+','+midtip_emp+
','+QuotedStr(tid_user)+')';
Params.Clear;
Params.CreateParam(ftBlob,'foto', ptInput);
ParamByName('foto').LoadfromStream(TheStream,ftBlob);
ExecSQL;
End;
Finally
TheStream.Free;
End;
MessageDlg('Registro almacenado con exito',mtInformation,[mbOK], 0);
end
Conexion.Disconnect;
de igual forma como hice el insert lo adapto para hacer update
hice una pequeña combinación ya que por el momento tengo que investigar mas sobre el uso de Params
si alguien me puede sugerir como optimizar el código o que sea mas presentable para otros programadores se los agradecería