Fórum Texto de um memo para um Campo BLOB #287563

11/07/2005

0

Olá,

Gostaria de saber como faço para salvar em um campo BLOB do SQL Server um texto que está em um componente MEMO. Como seria a rotina? Qual deve ser o tipo do campo? Text ou NText ? Gostaria também de saber como fazer a operação inversa (Do campo para o MEMO).

Grato,

Ricardo.


Ricobv

Ricobv

Responder

Posts

11/07/2005

Ivanh

tabelaCAMPOBLOB.Assign(Memo1.Lines);

Memo1.Lines.Assign(tabelaCAMPOBLOB);



Responder

Gostei + 0

11/07/2005

Ricobv

tabelaCAMPOBLOB.Assign(Memo1.Lines);

Memo1.Lines.Assign(tabelaCAMPOBLOB);


Ok, mas como faço isso utilizando uma query??


Responder

Gostei + 0

11/07/2005

Ivanh

Memo1.Lines.Assign(TBlobField(Fields[0]));



Responder

Gostei + 0

11/07/2005

Ricobv

Memo1.Lines.Assign(TBlobField(Fields[0]));


Vou tentar isso. Valeu pela ajuda!!

P.S.: Se outra pessoa conhecer algum outro modo, pode dizer.


Responder

Gostei + 0

11/07/2005

Ricobv

Tentei a solução indicada, mas não funcionou corretamente. Alguém sabe ma outra solução? Estou precisando com urgência mesmo...

Grato.


Responder

Gostei + 0

11/07/2005

Ivanh

Seja mais claro entao.
Mande um pedaco de codigo.
Qual erro ocorre?


Responder

Gostei + 0

11/07/2005

Ricobv

Seja mais claro entao. Mande um pedaco de codigo. Qual erro ocorre?


Aqui está um trecho do comando:

with Query1 do
begin
Close;
Clear;
SQL.Add(´Insert into Produto (Observacao)´);
SQL.Add(´Values (:vObservacao)´);
//aqui preciso atribuir ao parâmetro o conteúdo do memo
ExecSQL;
end;

O que quero saber é como atribuir o conteúdo do memo ao parâmetro indicado. Estou utilizando os componentes da paleta ADO.

Grato.


Responder

Gostei + 0

11/07/2005

Ivanh

Ahhhh
Agora entendi.
Acho que vc vai ter que usar um componente de acesso.

Por comando sql acho q nao tem como!


Responder

Gostei + 0

11/07/2005

Ricobv

Ahhhh Agora entendi. Acho que vc vai ter que usar um componente de acesso. Por comando sql acho q nao tem como!


Só tem essa maneira mesmo? Não há nenhuma outra?


Responder

Gostei + 0

11/07/2005

Kapak

Colega, tente assim e veja se funciona:
var MS:TMemoryStream;
begin
  MS := TMemoryStream.Create;
  Memo1.Lines.SaveToStream(MS);
  Query1.ParamByName(´vObservacao´).LoadFromStream(MS, ftMemo);
  Query1.ExecSql;
  MS.Free;
end;



Responder

Gostei + 0

11/07/2005

Ricobv

Colega, tente assim e veja se funciona:
var MS:TMemoryStream;
begin
  MS := TMemoryStream.Create;
  Memo1.Lines.SaveToStream(MS);
  Query1.ParamByName(´vObservacao´).LoadFromStream(MS, ftMemo);
  Query1.ExecSql;
  MS.Free;
end;


Funcionou!! Muito obrigado!


Responder

Gostei + 0

27/02/2020

Mais Dominio

Olá,
Migrei um sistema do delphi xe2 para o delphi Rio. Usamos o banco de dados firebird. Após a migração alguns dados não estão sendo salvos em campos blob. Usamos componentes da paleta interbase com o componente dbMemo ligado por datasource à ibquery. O registro é salvo em todos os campos de outros tipos exceto nos campos blob. Podem ajudar?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar