É possível consultar texto dentro de um campo BLOB ????

23/02/2006

pessoal ... eu uso firebird 1.5.3 e tenho um campo blob onde armazeno textos, teria como eu consultar estes textos dentro do campo BLOB ???


Armando.boza

Respostas

23/02/2006

Armando.boza

sobe


Responder Citar

23/02/2006

Eniorm

existe a função SUBSTRING que vc copia parte de um texto..

no caso do blob, ao ser exibido num DBGrid, aparece apenas <Blob> na celula, eu uso dessa forma pra contornar:

SELECT...
...
SUBSTRING(CAMPOBLOB FROM 1 FOR 100) AS CAMPO
...

assim o texto aparece corretamente,

talvez vc pode usar algo do tipo pra fazer a consulta

SELECT.....
...
WHERE
SUBSTRING(CAMPOBLOB FROM 1 FOR 100) LIKE ´TEXTO¬´


Responder Citar

24/02/2006

Armando.boza

[quote:4e098dc6fe=´Enio Marconcini´]existe a função SUBSTRING que vc copia parte de um texto..

no caso do blob, ao ser exibido num DBGrid, aparece apenas <Blob> na celula, eu uso dessa forma pra contornar:

SELECT...
...
SUBSTRING(CAMPOBLOB FROM 1 FOR 100) AS CAMPO
...

assim o texto aparece corretamente,

talvez vc pode usar algo do tipo pra fazer a consulta

SELECT.....
...
WHERE
SUBSTRING(CAMPOBLOB FROM 1 FOR 100) LIKE ´TEXTO¬´[/quote:4e098dc6fe]

Amigo ... na chamada para aparecer na dbgrid eu consigo fazer aparecer o texto, é só colocar no evento OnGetText no field da query a seguinte instrução:

Text := Sender.AsString;


Retorna legal na dbgrid, porém não consigo fazer uma consulta direta no campo, mas vou testar essa maneira que me falou, assim que conseguir retorno aqui o resultado ok.

valew


Responder Citar

24/02/2006

Eniorm

Text := Sender.AsString;


bom neste caso funciona, mas e se vc não tiver usando os TFields, dai a coisa muda, eheheheh... eu particularmente não uso os TFields, então faço manualmente pelo SQL, graças a função SUBSTRING do Firebird.

abraço


Responder Citar

24/02/2006

Armando.boza

funcionou amigo ...

WHERE SUBSTRING(CAMPOBLOB FROM 1 FOR 100) LIKE ´TEXTO¬´


valew mesmo


Responder Citar