pesquisa em campo blob

Delphi

23/02/2011

Olá pessoal Tenho uma aplicação com banco de dados firebird e Radstudio2010 onde preciso realizar uma consulta em um campo do tipo blob.   Vi muita gente com essa duvida mas nenhuma das respostas funcionaram. Alguem pode me ajudar   Ja tentei assim
SQLQuery1.Close;
ClientDataSet1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('Select * From GDM Where TEXTO2 like :PESQ');
SQLQuery1.Params.ParamByName('PESQ').Value := '%'+Edit1.Text+'%';
ClientDataSet1.Open;
Assim
SQLQuery1.SQL.Add('Select * From GDM Where TEXTO2 like :PESQ');

Assim
SQLQuery1.SQL.Add('Select * From GDM Where TEXTO2 containing  :PESQ');
Assim
SQLQuery1.SQL.Add('Select * From GDM Where TEXTO2 = :PESQ');
e assim e nenhuma funcionaram
SQLQuery1.SQL.Add('Select * From GDM Where TEXTO2 = palavra_que sei_q_existe');

Valdenir Matos

Valdenir Matos

Curtidas 0

Respostas

Wilson Junior

Wilson Junior

23/02/2011

Coloque
SQLQuery1.Params.ParamByName('PESQ').Value := QuotedStr('%'+Edit1.Text+'%');


Espero ter colaborado.
GOSTEI 0
Valdenir Matos

Valdenir Matos

23/02/2011

olá Wilson Lehapan Junior   Percebi que o erro estava na acentuação e não no codigo. Eu estava pesquisando com Çç, Éé, Ãã.
Em campo varchar eu posso usar charset ISO8859_1 e collate PT_BR ja no blob não.   sabe como posso resolver isso?   obrigado pela atenção.
GOSTEI 0
Alan Souza

Alan Souza

23/02/2011

tente usar charset WIN1252 e collate WIN_PTBR.
GOSTEI 0
Valdenir Matos

Valdenir Matos

23/02/2011

estou criando o campo assim, mas o collate assume o valor WIN1252  
TEXTO1      BLOB SUB_TYPE 1 SEGMENT SIZE 6000 CHARACTER SET WIN1252 collate WIN_PTBR,
  Escrevi estas palavras  FILÉ, AVÔ, CÃO e ficou assim   {\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Tahoma;}{\f1\fnil Tahoma;}}
\viewkind4\uc1\pard\lang1046\f0\fs16 FIL\'c9, AV\'d4, C\'c3O\f1\par
}
ja usei a StormUDF.dll e tambem não funcionou  
DECLARE EXTERNAL FUNCTION TRATAACENTOS 
CSTRING(254) CHARACTER SET NONE 
RETURNS CSTRING(254) 
ENTRY_POINT 'TrataAcentos' MODULE_NAME 'StormUDF' 
  Detalhes: Estou usando IBExpert 2010 e Firebird 2.5   obrigado pela atenção.
GOSTEI 0
Alan Souza

Alan Souza

23/02/2011

seu RTF pode ter ficado desconfigurado, mas já tentou fazer consulta com like?
por que eu sempre usei assim e funciona.
GOSTEI 0
POSTAR