Fórum ler campo BLOB #398442
30/03/2011
0
Campo tipo size subtype
texto BLOB 80 Binary
Os dados aramazenados nele contém informações da formatação do texto, assim:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\qc\cf1\lang1046\b\f0\fs32
\par Conclus\'e3o
\par \b0\fs28
\par
\par Repetir por falta de maiores informações.
Minhas dúvidas são:
1 - Como faço para colocar esse conteúdo num TMemo sem essas formatações ?
2 - Na consulta q estou fazendo, faço um SELECT assim:
Código:
SELECT m.idcliente, m.data, m.hora, m.texto, c.id, c.nome FROM MOVIMENTO m, CLIENTES c WHERE m.idcliente = c.id AND UPPER(m.texto) LIKE '%repetir%'
Eu preciso pegar todos as informações que no campo texto tenha a palavra repetir e ela pode estar escrita tando em maiúscula como minúscula ou com a primeira letra em maiúsculo, ou seja de várias formas, então eu tentei colocar o UPPER, mas dá erro. Como posso pegar essa palavra levando em consideração as diversas formas de escrita ?
Vlw.
Marcos Barbosa
Curtir tópico
+ 0Posts
30/03/2011
Wilson Junior
E qual o erro que ocorre ao executar o SQL?
Espero ter colaborado.
Gostei + 0
30/03/2011
Marcos Barbosa
O erro q tava dando deve ter sido alguma coisa errada que eu fiz, agora ñ está acontecendo mais.
Mas mesmo assim, mesmo eu colocando o UPPER, ele ñ está pegando todas as informações, tipo assim, no texto pode conter a palavra repetir de várias formas: REPETIR, repetir, Repetir... então eu gostaria de lista todas eles, contendo no texto essa palavra ele mostra. A rotina está assim:
var
repetir :String;
begin
repetir := 'repetir';
CDS_Consulta.Active:=False;
QR_Consulta.Close;
QR_Consulta.SQL.Clear;
QR_Consulta.SQL.Add('SELECT e.ID, e.IDPACIENTE, e.DATA, e.HORA, e.NUMEROEXAME, e.ID_INTERNO, e.ORIGEMEXP, e.LAUDO, p.ID, p.NOME');
QR_Consulta.SQL.Add('FROM EXAMES e, PACIENTES p');
QR_Consulta.SQL.Add('WHERE e.IDPACIENTE = p.ID');
QR_Consulta.SQL.Add('AND UPPER(e.laudo) LIKE '''+'%' + repetir +'%''');
QR_Consulta.SQL.Add('ORDER BY e.DATA, e.HORA, p.nome');
QR_Consulta.Open;
CDS_Consulta.Active:=True;
end;
Vlw.
Gostei + 0
30/03/2011
Wilson Junior
QR_Consulta.SQL.Add('SELECT e.ID, e.IDPACIENTE, e.DATA, e.HORA, e.NUMEROEXAME, e.ID_INTERNO, e.ORIGEMEXP, e.LAUDO, p.ID, p.NOME');
QR_Consulta.SQL.Add('FROM EXAMES e, PACIENTES p');
QR_Consulta.SQL.Add('WHERE e.IDPACIENTE = p.ID');
QR_Consulta.SQL.Add('AND UPPER(e.laudo) LIKE UPPER(' + QuotedStr('%' + repetir + '%') + ')' );
QR_Consulta.SQL.Add('ORDER BY e.DATA, e.HORA, p.nome');
Espero ter colaborado.
Gostei + 0
30/03/2011
Marcos Barbosa
Gostei + 0
30/03/2011
Wilson Junior
Espero ter colaborado.
Gostei + 0
30/03/2011
Marcos Barbosa
Então ficou assim:
QR_Consulta.SQL.Add('AND e.laudo CONTAINING '+ QuotedStr('repetir'));
Pelo que vi ele até substitui o LIKE, mas é ideal para usar com só com esse tipo de campo.
Velho muito obrigado, vc sempre tem me dado a maior força aki no forum...
Vlw...
Gostei + 0
30/03/2011
Marcos Barbosa
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)