Fórum Erro numa consulta SQL em Delphi #373309
09/08/2009
0
estou com problemas numa consulta SQL. Uso Firebird 1.5, Delphi7 e IBX.
Meu código:
SQL.Clear; SQL.Add(´SELECT PF.NOME AS RS, PF.IDENTIFICADOR, D.NOME, 4 AS TIPO, 0 AS IDENTIFICADOR_PJ,´); SQL.Add(´FONE_RESIDENCIAL AS FONE1, FONE_CELULAR AS FONE2, FONE_COMERCIAL AS FONE3, EMAIL AS FONE4, D.IDENTIFICADOR AS MSN, REMUNERACAO ´); SQL.Add(´, D.NOME AS NOME_GRUPO, CLIENTE_DESDE, DATA AS DATA_NASCIMENTO, TIPO_CLIENTE, EXTRACT(DAY FROM D.DATA) AS DIA´); SQL.Add(´FROM PESSOAFISICA PF INNER JOIN DEPENDENTE D ON D.ID_PESSOA = PF.IDENTIFICADOR ´); SQL.Add(´WHERE (UPPER(LOGIN) = :LOGIN OR PUBLICA = :PUBLICA)´); ParamByName(´PUBLICA´).AsInteger := 1; ParamByName(´LOGIN´).AsString := AnsiUpperCase(Usuario._Login); case op of 2 : begin SQL.Add(´and UPPER(D.NOME) LIKE :NOME´); ParamByName(´NOME´).AsString := ´¬´+AnsiUpperCase(edtNomeNovo.Text)+´¬´; end; ....
O erro ocorre no where o campo D.NOME não é localizado.
SQL.Add(´and UPPER(D.NOME) LIKE :NOME´);
Onde estou errando?
Carlosib
Curtir tópico
+ 0Posts
09/08/2009
Carlosib
Se fizer PF.NOME não tenho erro ... mas fazendo D.NOME tenho erro.
Gostei + 0
10/08/2009
Carlosib
Gostei + 0
11/08/2009
Emerson Nascimento
cSQL := ´SELECT ´+ ´ PF.NOME AS RS, PF.IDENTIFICADOR, D.NOME, 4 AS TIPO, 0 AS IDENTIFICADOR_PJ, ´+ ´ PF.FONE_RESIDENCIAL AS FONE1, PF.FONE_CELULAR AS FONE2, PF.FONE_COMERCIAL AS FONE3, ´+ ´ PF.EMAIL AS FONE4, D.IDENTIFICADOR AS MSN, PF.REMUNERACAO, ´+ ´ D.NOME AS NOME_GRUPO, PF.CLIENTE_DESDE, D.DATA AS DATA_NASCIMENTO, PF.TIPO_CLIENTE, ´+ ´ EXTRACT(DAY FROM D.DATA) AS DIA ´+ ´FROM PESSOAFISICA PF INNER JOIN DEPENDENTE D ON D.ID_PESSOA = PF.IDENTIFICADOR ´+ ´WHERE (UPPER(LOGIN) = :LOGIN OR PUBLICA = :PUBLICA) ´; if op = 2 then cSQL := cSQL + ´ and UPPER(D.NOME) LIKE :NOME´; SQL.Text := cSQL; ParamByName(´PUBLICA´).AsInteger := 1; ParamByName(´LOGIN´).AsString := AnsiUpperCase(Usuario._Login); if op = 2 then ParamByName(´NOME´).AsString := ´¬´+AnsiUpperCase(edtNomeNovo.Text)+´¬´;
D.NOME será listado duas vezes. é isso mesmo?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)