Fórum COMO EU USO IF NO DELPHI COM FIREBIRD #427866

01/11/2012

0

Caros amigos"
Seguinte eu tenho a tabela CLIENTE com 5 campos telefones. Tipo : TEL1, TEL2, TEL3, TEL4, TEL5.
E relaciono com outra tabela de ENDEREÇO usando LEFT JOIN.
To tentando fazer um select que quando não houver o TEL1 que ele pegue o valor do TEL2. Se não houver o TEL2, que ele pegue o TEL3 e assim sucessivamente.
Meu select no IBEXPERT funciona, mas no DELPHI dar erro (SQL PARSER ERROR: EOF in string detected).

Meu select no IBEXPERT - FUNCIONA

SELECT CLIENTE.*, COALESCE(tel1,tel2,tel3,tel4,tel5,'')
as vaca FROM cliente
Left Join ender_clie on (ender_clie.ID_CLIE=CLIENTE.ID_CLIE and Ender_clie.Master=1)
where NOME LIKE'%FELIPE%'
ORDER BY NOME

Meu select no DELPHI - DAR O ERRO (SQL PARSER ERROR: EOF in string detected)

DM.IBQClie.SQL.Add('SELECT CLIENTE.*, COALESCE(tel1,tel2,tel3,tel4,tel5,'')');
DM.IBQClie.SQL.Add('AS TELEFONE FROM cliente');
DM.IBQClie.SQL.Add('Left Join ender_clie on (ender_clie.ID_CLIE=CLIENTE.ID_CLIE and Ender_clie.Master=1)');
DM.IBQClie.SQL.Add('where NOME LIKE'+QuotedStr('%'+Edit1.Text+'%'));
DM.IBQClie.SQL.Add('ORDER BY NOME ');

Alguem poderia me ajudar?
Felipe Dias

Felipe Dias

Responder

Posts

01/11/2012

Claudia Nogueira

Como você está alterado a sentença SQL via comando, as aspas simples têm se ser duas pra abrir e duas pra fechar, ficando seu código assim:

DM.IBQClie.SQL.Add('SELECT CLIENTE.*, COALESCE(tel1,tel2,tel3,tel4,tel5,'''')'); 
DM.IBQClie.SQL.Add('AS TELEFONE FROM cliente'); 
DM.IBQClie.SQL.Add('Left Join ender_clie on (ender_clie.ID_CLIE=CLIENTE.ID_CLIE and Ender_clie.Master=1)');
DM.IBQClie.SQL.Add('where NOME LIKE'+QuotedStr('%'+Edit1.Text+'%'));
DM.IBQClie.SQL.Add('ORDER BY NOME ');


Caros amigos"
Seguinte eu tenho a tabela CLIENTE com 5 campos telefones. Tipo : TEL1, TEL2, TEL3, TEL4, TEL5.
E relaciono com outra tabela de ENDEREÇO usando LEFT JOIN.
To tentando fazer um select que quando não houver o TEL1 que ele pegue o valor do TEL2. Se não houver o TEL2, que ele pegue o TEL3 e assim sucessivamente.
Meu select no IBEXPERT funciona, mas no DELPHI dar erro (SQL PARSER ERROR: EOF in string detected).

Meu select no IBEXPERT - FUNCIONA

SELECT CLIENTE.*, COALESCE(tel1,tel2,tel3,tel4,tel5,'')
as vaca FROM cliente
Left Join ender_clie on (ender_clie.ID_CLIE=CLIENTE.ID_CLIE and Ender_clie.Master=1)
where NOME LIKE'%FELIPE%'
ORDER BY NOME

Meu select no DELPHI - DAR O ERRO (SQL PARSER ERROR: EOF in string detected)

DM.IBQClie.SQL.Add('SELECT CLIENTE.*, COALESCE(tel1,tel2,tel3,tel4,tel5,'')');
DM.IBQClie.SQL.Add('AS TELEFONE FROM cliente');
DM.IBQClie.SQL.Add('Left Join ender_clie on (ender_clie.ID_CLIE=CLIENTE.ID_CLIE and Ender_clie.Master=1)');
DM.IBQClie.SQL.Add('where NOME LIKE'+QuotedStr('%'+Edit1.Text+'%'));
DM.IBQClie.SQL.Add('ORDER BY NOME ');

Alguem poderia me ajudar?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar