DBRichEdit - PostGreSQL

Delphi

05/10/2007

Saudações amigos desenvolvedores,

estou com um problema e agradeço o auxílio desde já.

Estou querendo armazenar um texto e suas marcas (sublinhado, negrito e itálico, apenas) em um BD PostGreSQL, entretanto estou com um problema. O tipo de dado ideal (BLOB) não existe no PostGreSQL, e se usar o DBRichEdit com um tipo de dado para string (text, char, varchar), a formatação é perdida.

Existe alguma solução para isso?

Eu vi o link (http://forum.clubedelphi.net/viewtopic.php?p=178951&sid=eacbfa14ebdca799034b49fed5941739), mas dá um erro quando tento fazer o mesmo (Abstract Error - Failed to save stream)...

Aguardo respostas e agradeço novamente.


Leonardo_gina

Leonardo_gina

Curtidas 0

Respostas

Ruysalles

Ruysalles

05/10/2007

Ainda nao utilizei este tipo, mas consultando a net, verifiquei que os campos blobs podem ser substituídos pelo campo bytea.

Espero ter ajudado


GOSTEI 0
Leonardo_gina

Leonardo_gina

05/10/2007

Bom, vou tentar novamente...

:D

Espero que dê certo... Se tiver retorno, volto a postar aqui...

Agradeço Ruy...


GOSTEI 0
Leonardo_gina

Leonardo_gina

05/10/2007

Bom tentando conectar diretamente o DBRichEdit com o campo do tipo Bytea no PostGreSQL acusa o seguinte erro: ´ERROR: type ´lo´ does not exist; Error while executing the query´.

Entretanto, eu fiquei feliz porque pelo que entendi, o Delphi entende o meu campo como tendo tipo de dado Blob, pois quando olhei no ObjectInspector, existe uma propriedade [b:52e5cd0bce]BlobType[/b:52e5cd0bce]. Essa propriedade estava como [b:52e5cd0bce]ftBlob[/b:52e5cd0bce]. Tem que setar para algum outro valor, visto que o meu campo se destina a armazenar apenas texto?

Bom, continuo na briga aqui. Se alguém puder ajudar continuarei sendo grato. :D


GOSTEI 0
Leonardo_gina

Leonardo_gina

05/10/2007

Bom, já que a galera pede para postar se deu certo ou não, afirmo dizendo que o meu não deu certo ainda não. :D

Aconselho utilizar outro banco por enquanto (FireBird ou InterBase). :D


GOSTEI 0
Bon Jovi

Bon Jovi

05/10/2007

O conteúdo de um RTF é texto e nao binário, pq simplesmente nao usa o tipo TEXT?


GOSTEI 0
Leonardo_gina

Leonardo_gina

05/10/2007

Boa Bon Jovi... :D

Eu já estava pensando em fazer isso mesmo, mas queria de preferência utilizar um componente da palheta Data Controls, para facilitar o trabalho...

Entretanto, o importante é resolver o problema, então fiz o seguinte:

Alterei o tipo do meu campo de bytea, que era o que eu estava tentando fazer funcionar, para o campo text e receber o texto rtf. Para isto utilizei um Rich Edit para receber as informações a serem armazenadas no BD.

Entretanto, eu precisei criar uma tabela para criar um campo bytea, pois não consegui passar o que estava no Rich Edit diretamente para o campo text, então primeiro eu passe para o campo bytea e depois para o campo text.

O código ficou assim:

procedure Tfrm_Questoes.SBSalvar2Click(Sender: TObject);
var
Stream: TMemoryStream;
Begin
Stream := TMemoryStream.Create();
try
RichEdit1.Lines.SaveToStream(Stream);
Stream.Seek(0,soFromBeginning);
TBlobField(Modulo.Tabela.FieldByName(´campoblob´)).LoadFromStream(Stream);

Modulo.campotext.Value := Modulo.campoblob.AsString;
finally
Stream.Free;
end;

Tabela.Post;

End;

Agradeço a ajuda de todos...

Um abraço e qualquer coisa, é só entrar em contato por e-mail: leonardo_gina@hotmail.com


GOSTEI 0
POSTAR