Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Raficcha

[Resolvido] Delphi e firebird, erro com blobos e acentuação gráfi

Recommended Posts

Boa tarde pessoal. Estou trabalhando em um sistema com Delphi e Firebird. Tenho um banco gigante já, mas funciona tudo bem, ou melhor, funcionava ...

 

... hoje de manhã um dos cadastros do sistema (um que emite orçamentos) começou a apresentar um erro de conversão de string para blob. Então, fui no banco e apaguei a coluna e criei uma nova do tipo "varchar". Apartí daí o sistema não aceita mais acentuação grafica em lugar nenhum.

 

Alguem sabe o que pode ter acontecido? Já coloquei o banco antigo de volta, mas o Fica dando este erro de conversão de string para blob. Não faço nem idéia do que seja, só sei que ele parou de funcionar. (eu nem sequer mexi no código)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você ta gravando o texto (string) no campo blob convertendo para stream? Entre os disponíveis eu recomendo usar o TMemoryStream pq ele gerencia melhor a conversão e também em caso de falta de memória.

 

Por exemplo, ficaria da seguinte maneira:

declarar a variavel

 

Texto: TMemoryStream;

 

//CRIAR

 

Texto:=TMemoryStream.Create;

 

 

//SUPONHO QUE ESTEJA PEGANDO DE UM MEMO OU RICHEDIT?

nomeMemo.Lines.SaveToStream(Texto, ftBlob); //para usar o ftblob precisa declarar a unit DB no uses..

 

 

Depois você declara na sua sql de insert um parametro e o carrega assim

 

nomeSql.ParamByName('NomeDoParametroEscolhido').LoadFromStream(Texto);

 

ai é só inserir..

 

pra selecionar nao tem que fazer nada especial.. o de costume, pelo menos eu nao façoi nada e funciona!

espero ter ajudado

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum, desculpa a demora em responder. Thiago, Gostei da dica.

 

Para os moderadores, podem fechar o tópico: A solução (Cag#@da resolvida):

 

descobri que eu tinha um servidor interbase rodando na máquina, junto ao firebird. Não preciso nem explicar por que tava dando problema.. hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.