É possível consultar texto dentro de um campo BLOB ????
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
Curtidas 0
Respostas
Armando.boza
23/02/2006
sobe
GOSTEI 0
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¬´
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
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:
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
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
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
23/02/2006
funcionou amigo ...
valew mesmo
WHERE SUBSTRING(CAMPOBLOB FROM 1 FOR 100) LIKE ´TEXTO¬´
valew mesmo
GOSTEI 0