Erro em sql no delphi

Delphi

19/12/2007

Que erro há nesse sql
 if not (projeto.Text=´´) then begin
  dm.sdsLancamento2.Close;
  dm.sdsLancamento2.CommandText:=´select id_lancamento_projeto, cod_projeto_lancamento, ´ +
                                 ´cod_grupo_fk, id_grupo from lancamento_projeto ´ +
                                 ´inner join grupo on lancamento_projeto.cod_grupo_fk ´ +
                                 ´= grupo.id_grupo ´ +
                                 ´where cod_projeto_lancamento =: cod_projeto_lancamento´;
  dm.sdsLancamento2.ParamByName(´cod_projeto_lancamento´).AsString:=projeto.Text;
  dm.sdsLancamento2.Open;

  dm.cdsLancamento2.Close;
  dm.cdsLancamento2.Open;
  dm.cdsLancamento2.Refresh;
  end;



Ta dando esso erro de Parametro não existe.
---------------------------
Debugger Exception Notification
---------------------------
Project MATERIAIS.exe raised exception class EDatabaseError with message ´sdsLancamento2: Parameter ´cod_projeto_lancamento´ not found´. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------

Já coloquei lá no parametro esse mesmo campo, só que fica dando esse erro.
Que faço?


Jpauloss

Jpauloss

Curtidas 0

Respostas

Andersonscinfo

Andersonscinfo

19/12/2007

pela mensagem de erro que ta dando...aparece que este campo não existe...mas vendo se código eu percebi duas coias que ao meu ver não estão corretas...
1º vc ta usando um parametro com o mesmo nome de um campo.....não recomendo...
2º onde vc definiu o parametro existe um espaço entre os : e o parametro...isso é errado...tem que estar junto

if not (projeto.Text=´´) then begin
  dm.sdsLancamento2.Close;
  dm.sdsLancamento2.CommandText:=´select id_lancamento_projeto, cod_projeto_lancamento, ´ +
                                 ´cod_grupo_fk, id_grupo from lancamento_projeto ´ +
                                 ´inner join grupo on lancamento_projeto.cod_grupo_fk ´ +
                                 ´= grupo.id_grupo ´ +
                                 ´where cod_projeto_lancamento = :cod_pr_lan´;
  dm.sdsLancamento2.ParamByName(´cod_pr_lan´).AsString:=projeto.Text;
  dm.sdsLancamento2.Open;

  dm.cdsLancamento2.Close;
  dm.cdsLancamento2.Open;
  end; 



GOSTEI 0
Jpauloss

Jpauloss

19/12/2007

Valeu resolvido!


GOSTEI 0
POSTAR