Ajuda ao salvar em campo BLOB

Delphi

14/03/2017

Oi Pessoal,

Estou tentando fazer com que meu código salve o estado de uma grid no Banco de dados:
[code]
procedure TfrmGrid.FormClose(Sender: TObject; var Action: TCloseAction);
var
  AStream: TMemoryStream;
begin
  CdsStream.Close;
  CdsStream.Open;
  AStream := TMemoryStream.Create;
  cxGrid1DBTableView1.StoreToStream(AStream);
  AStream.Position := 0;
  cdsStream.Edit;
  TBlobField(cdsStream.FieldByName('CC_CONF_GRADE')).loadfromStream(AStream);
  cdsStream.Post;

  Freeandnil(Astream);
end;
[/code]

porém não é salvo nada no BD (uso o firebird 2.5), sempre que vou checar para ver a informação no campo, aparece "Null".
Gabriel

Gabriel

Curtidas 0

Respostas

Raylan Zibel

Raylan Zibel

14/03/2017

cxGrid1DBTableView1.StoreToStream(AStream);


Que tipo de conteúdo é esse?
GOSTEI 0
Gabriel

Gabriel

14/03/2017

É de um componente chamado devExpress, minha intenção é salvar o layout da tabela em um campo blob e depois restaurar este layout.
GOSTEI 0
Raylan Zibel

Raylan Zibel

14/03/2017

A documentação do componente diz que é assim que deve ser gravado?
GOSTEI 0
Diego Sounobre

Diego Sounobre

14/03/2017

Não sei se já conseguiu, mas se não, tente assim:

cxGrid1DBTableView1.StoreToStream(AStream,[],'cxGrid1DBTableView1');

Para recuperar:

cxGrid1DBTableView1.RestoreFromStream(AStream,false,false,[],'cxGrid1DBTableView1');
GOSTEI 0
POSTAR