Consulta SQL Server com data..Erro..

Delphi

10/01/2008

Galera
estou com problemas aqui e não estou conseguindo resolver.

Tenho um bd sql server 2000
na tabela LigacoesRecebidas tenho um campo data (smalldatetime)
ele grava no bd no formato MM/DD/AAAA

tenho um datetimepicker chamado dtinicial
qdo tento fazer o sql para obter resultado obtenho a seguinte msg
´Recurso Opcional não implementado.´

tentei esse
procedure TForm1.Button1Click(Sender: TObject);
var SQL : String;
begin
  SQL := ´SELECT * FROM LIGACOESRECEBIDAS WHERE DATA =:DATA´;
  qConsulta.Close;
  qConsulta.SQL.Clear;
  qConsulta.SQL.Add(SQL);
  qConsulta.Parameters.ParamByName(´DATA´).Value := dtInicial.DateTime;
  qConsulta.Open;

end;



e esse

procedure TForm1.Button1Click(Sender: TObject);
var SQL : String;
begin
  SQL := ´SELECT * FROM LIGACOESRECEBIDAS WHERE DATA =:DATA´;
  qConsulta.Close;
  qConsulta.SQL.Clear;
  qConsulta.SQL.Add(SQL);
  qConsulta.Parameters.ParamByName(´DATA´).Value := copy(DatetoStr(dtInicial.DateTime),4,2) + ´/´ + copy(DatetoStr(dtInicial.DateTime),1,2)+ ´/´ + copy(DatetoStr(dtInicial.DateTime),7,4);
  qConsulta.Open;

end;



agradeço a ajuda de todos..
obrigado


Eric.miranda

Eric.miranda

Curtidas 0

Respostas

Djjunior

Djjunior

10/01/2008

tente

qConsulta.Parameters.ParamByName(´DATA´).AsDateTime := dtInicial.DateTime;

ou

qConsulta.Parameters.ParamByName(´DATA´).AsDate := dtInicial.DateTime;


se não der certo use a função cast() do sql para formatar a data - não tenho como ver a sintaxe agora.


GOSTEI 0
Facc

Facc

10/01/2008

tente qConsulta.Parameters.ParamByName(´DATA´).AsDateTime := dtInicial.DateTime; ou qConsulta.Parameters.ParamByName(´DATA´).AsDate := dtInicial.DateTime; se não der certo use a função cast() do sql para formatar a data - não tenho como ver a sintaxe agora.


Vc tentou passar assim?
qConsulta.Parameters.ParamByName(´DATA´).AsDate:=  FormatDateTime(´mm/dd/yyyy´, dtInicial.DateTime)



GOSTEI 0
Eric.miranda

Eric.miranda

10/01/2008

Valeu galera..mas nenhuma das soluções aí funcionou..
continua dando o mesmo problema....

:oops: :oops:


GOSTEI 0
Djjunior

Djjunior

10/01/2008

SELECT * FROM LIGACOESRECEBIDAS WHERE CAST( ????, DATA ) = :data

Dê uma olhada no books Online a sintaxe do cast ou convert, ai vai dar certo


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

10/01/2008

tente algo como:
procedure TForm1.Button1Click(Sender: TObject);
var SQL : String;
begin
  SQL := ´SELECT * FROM LIGACOESRECEBIDAS WHERE DATA =:DATA´;
  qConsulta.Close;
  qConsulta.SQL.Clear;
  qConsulta.SQL.Add(SQL);
  qConsulta.Parameters.ParamByName(´DATA´).AsSQLTimeStamp := dtInicial.DateTime;
  qConsulta.Open;
end;



GOSTEI 0
POSTAR