erro no codigo que nao consigo achar

Delphi

15/03/2013

arqema.sql.add(''select codfun as coddes, nomfun as nomdes, emails as endele, '''' as endalt, cidfun as ciddes, estfun as estdes'');
arqema.sql.add(''from fpd005 where emails is not null'');
if maskedit1.text <> '''' then
begin
arqema.sql.add(''and codfun=:wcodfun'');
arqema.parambyname(''wcodfun'').asinteger := strtoint(maskedit1.text);
end;
if checkbox4.checked = false then
begin
arqema.sql.add(''and datres is null'');
end;


ESTA DANDO ERRO NO PARAMENTRO WCODFUN. ALGUEM POR FAVOR PODE OLHAR O QUE ESTA ERRADO, POIS EU ATÉ AGORA NÃO ACHEI.

OBRIGADO
"DEUS ABENÇOE"
Wilton Júnior

Wilton Júnior

Curtidas 0

Respostas

William

William

15/03/2013

Colega falta um espaço no final do WHERE:

"from fpd005 where emails is not null "
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

15/03/2013

Rapaz, qual é exatamente o erro?
GOSTEI 0
Wilton Júnior

Wilton Júnior

15/03/2013

aparece uma mensagem dizendo que o paramentro wcodfun não funciona.
Parameter 'wcodfun' not found.

Eu não vi erro. ta muito esquisito
GOSTEI 0
Wilton Júnior

Wilton Júnior

15/03/2013

Achei o erro obrigado a todos.
GOSTEI 0
Francisco Macário

Francisco Macário

15/03/2013

arqema.sql.add(''select codfun as coddes, nomfun as nomdes, emails as endele, '''' as endalt, cidfun as ciddes, estfun as estdes'');
arqema.sql.add(''from fpd005 where emails is not null'');
if maskedit1.text <> '''' then
begin
arqema.sql.add(''and codfun=:wcodfun'');
arqema.parambyname(''wcodfun'').asinteger := strtoint(maskedit1.text);
end;
if checkbox4.checked = false then
begin
arqema.sql.add(''and datres is null'');
end;


ESTA DANDO ERRO NO PARAMENTRO WCODFUN. ALGUEM POR FAVOR PODE OLHAR O QUE ESTA ERRADO, POIS EU ATÉ AGORA NÃO ACHEI.

OBRIGADO
"DEUS ABENÇOE"


Olá.

Pode ser por que você esta passando valor para o parametro sem ter terminado de montar a instrução SQL.

Repondo seu código.



  arqEma.sql.add('  select');
  arqEma.sql.add('    CODFUN as CODDES, NOMFUN as NOMDES, EMAILS as ENDELE,');
  arqEma.sql.add('  '+QuotedStr('''')+ 'as ENDALT, CIDFUN as CIDDES, ESTFUN as ESTDES');
  arqEma.sql.add('  from');
  arqEma.sql.add('    FPD005');
  arqEma.sql.add('  where');
  arqEma.sql.add('    EMAILS is not null');
  if maskedit1.text <> '''' then
  begin
    arqEma.sql.add('  and CODFUN = :wcodfun');
  end;

  if checkbox4.checked = false then
  begin
    arqEma.sql.add('  and DATRES is null');
  end;

  if maskedit1.text <> '''' then
  begin
    arqEma.parambyname('wcodfun').AsInteger := strtoint(maskedit1.text);
  end;


GOSTEI 0
Joel Rodrigues

Joel Rodrigues

15/03/2013

Obrigado pelo retorno.
Sendo assim, estou marcando este tópico como Concluído.
Abraço a todos.
GOSTEI 0
POSTAR