Back again.
I managed to do it based on Drivesofts previous post on another thread. It is the same as the one proposed by sibprogsistem but it is formulated as a stand alone procedure.
procedure SaveFileToDatabase (Tablename, Fieldname, Filename: string; id: integer);
var
sSQL: string;
sFileName: string;
sFieldName: string;
Params: TParams;
MemoryStream: TMemoryStream;
Param: TParam;
begin
sSQL := 'UPDATE '+Tablename+' SET ' +Fieldname+'= :'+Fieldname+', '+Fieldname+'_filename="'+ExtractFileName(Filename)+'" WHERE id='+IntToStr(id);
Params := TParams.Create(nil);
// BLOB
MemoryStream := TMemoryStream.Create;
MemoryStream.LoadFromFile(Filename); // load file to memory
MemoryStream.Position := 0;
Params.CreateParam(ftBlob, Fieldname, ptInput).LoadFromStream(MemoryStream, 15); // 15 ftBlob (TBlobType)
Form1.SQLConnection.Execute(sSQL, Params);
MemoryStream.Free;
Params.Free;
end;
Thank you for your help.
Regrads
George