Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Miss

Parametro com SQL Server 2000

Recommended Posts

procedure TForm1.BitBtn1Click(Sender: TObject);beginqry.Close;qry.SQL.Clear;qry.SQL.Add('SELECT * FROM CLIENTES WHERE DATA_NASC BETWEEN :pDtaIni AND :pDtaFinal');qry.Parameters.ParamByName('DtaIni').Value:= dtpDtaIni.Date;qry.Parameters.ParamByName('DtaFinal').Value:= dtpDtaFinal.Date;qry.Open;end;

no clik do botao ele da o seguinte erro:

 

qry: Parameter 'DtaIni' not found...

 

eu fazia issu com Access e dava certo...

oke q tm de errado??

Compartilhar este post


Link para o post
Compartilhar em outros sites

procedure TForm1.BitBtn1Click(Sender: TObject);beginqry.Close;qry.SQL.Clear;qry.SQL.Add('SELECT * FROM CLIENTES WHERE DATA_NASC BETWEEN :pDtaIni AND :pDtaFinal');qry.Parameters.ParamByName('DtaIni').Value:= dtpDtaIni.Date;qry.Parameters.ParamByName('DtaFinal').Value:= dtpDtaFinal.Date;qry.Open;end;
o erro está aki rodrigo:

 

qry.Parameters.ParamByName('DtaIni').Value:= dtpDtaIni.Date;

qry.Parameters.ParamByName('DtaFinal').Value:= dtpDtaFinal.Date;

 

 

está faltando um p antes do nome do parâmetro...

os nomes estão diferentes

 

tenta rodar ele assim:

 

procedure TForm1.BitBtn1Click(Sender: TObject);beginqry.Close;qry.SQL.Clear;qry.SQL.Add('SELECT * FROM CLIENTES WHERE DATA_NASC BETWEEN :pDtaIni AND :pDtaFinal');qry.Parameters.ParamByName('pDtaIni').Value:= dtpDtaIni.Date;qry.Parameters.ParamByName('pDtaFinal').Value:= dtpDtaFinal.Date;qry.Open;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente o erro do parâmetro deve de ser o que o Hugo falou...

Mas ainda faria uma coisa diferente:

 

procedure TForm1.BitBtn1Click(Sender: TObject);beginqry.Close;qry.SQL.Clear;qry.SQL.Add('SELECT * FROM CLIENTES WHERE DATA_NASC BETWEEN :pDtaIni AND :pDtaFinal');qry.Parameters.ParamByName('pDtaIni').Value:=StrToDate(DateToStr(dtpDtaIni.Date));qry.Parameters.ParamByName('pDtaFinal').Value:=StrToDate(DateToStr(dtpDtaFinal.Date));qry.Open;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

So um curiosidade...

pq essa conversao primeiro de String para Data e depois de Data pra String de novo???

 

qry.Parameters.ParamByName('pDtaFinal').Value:=StrToDate(DateToStr(dtpDtaFinal.Date));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.