// 读取
Query.Close();
Query.ConnectionString:=FDB_ConnectionString;
Query.CommandText:='SELECT DOC FROM T_DOC WHERE GUID=''12345678''';
Query.Open();
if(TBlobField(Query.FieldByName('DOC')).BlobSize=0) then
begin
//
end
else
begin
// 这里可以正常读到二进制字段DOC的数据
TBlobField(Query.FieldByName('DOC')).SaveToFile(FDOCName);
end;
// 修改
Query.Close();
Query.Params.Clear();
Query.ConnectionString:=FDB_ConnectionString;
Query.CommandText:='UPDATE T_DOC SET DOC=OC WHERE GUID=''12345678''';
TempParam:=Query.Params.CreateParam(TFieldType.ftBlob, 'DOC', TParamType.ptInput);
TempParam.LoadFromFile(FDOCName, TFieldType.ftBlob);
Query.Execute(); // <- 修改没有效果,为什么?