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

Delphi

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

Armando.boza

Curtidas 0

Respostas

Armando.boza

Armando.boza

23/02/2006

sobe


GOSTEI 0
Eniorm

Eniorm

23/02/2006

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¬´


GOSTEI 0
Armando.boza

Armando.boza

23/02/2006

[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


GOSTEI 0
Eniorm

Eniorm

23/02/2006

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


GOSTEI 0
Armando.boza

Armando.boza

23/02/2006

funcionou amigo ...

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


valew mesmo


GOSTEI 0
POSTAR