Passar parâmetro tipo data no DBExpress para SQLServer

Delphi

14/04/2005

Caros amigos,
não estou conseguindo passar um parâmetro data para uma query do DBExpress para emitir um relatório do SQLServer.

tenho um TSQLClientDataset
com uma sql assim :

SELECT * FROM saida
WHERE data_saida =:data_saida

Já tentei colocar todos os tipos de campo compatíveis com data mas nenhum aceita dá uma messagem de ´dbx error: invalid field type´ ou ´dbx error: invalid parameter´

Tem que ter uma solução pra isso :( .

Com interbase não tive problemas, agora com SQLServer tá ruim, desculpe a sinceridade, mas tá osso !

Agradeço qualquer tipo de solução, mas tenho que manter o SQLServer.

Lucio ...

[color=green:2afba7d2dd]Título e texto editados por gandalf.nho - Favor não postar em letras maiúsculas e nem usar palavrão.[/color:2afba7d2dd]


Luciohc

Luciohc

Curtidas 0

Respostas

Arc@njo

Arc@njo

14/04/2005

Ja passei por problema semelhante mas em interbase, a forma que consegui soluciona-lo foi alterando o formato do parametro de ftDate para ftTimeStamp, e quando for passa-lo no delphi eu utilizei assim:

CDS.Params.ParamByName(´DATA´).AsDate:=DataValida;

Se fosse passado como AsDateTime tava problema.

Espero ter ajudado.


GOSTEI 0
Luciohc

Luciohc

14/04/2005

Gente, por favor isso, ajuda ai !


GOSTEI 0
Luciohc

Luciohc

14/04/2005

Sobe...


GOSTEI 0
Gandalf.nho

Gandalf.nho

14/04/2005

De acordo com o help do Delphi, o DBExpress trabalha com o tipo TSQLTimeStamp para trabalhar com campos que contenham data e hora.


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

14/04/2005

Caros amigos, não estou conseguindo passar um parâmetro data para uma query do DBExpress para emitir um relatório do SQLServer. tenho um TSQLClientDataset com uma sql assim : SELECT * FROM saida WHERE data_saida =:data_saida

Colega,

Tente o seguinte:

Query.ParamByName(´data_saida´).AsSqlTimeStamp :=
DateTimeToSqlTimeStamp(Date);



GOSTEI 0
Luciohc

Luciohc

14/04/2005

Aroldo,
Vou tentar a sua solução, mas não estou conseguindo nem configurar o tipo de parâmetro da query, já coloquei tipo date, datetime e timestamp dá um erro, se eu soubesse que ia ser essa porcaria nem tinha usado SQL SERVER, desculpem mas continua brabo.

´DBX ERROR : INVALID PARAMETER´


Lúcio


GOSTEI 0
Luciohc

Luciohc

14/04/2005

Sobe...


GOSTEI 0
Luciohc

Luciohc

14/04/2005

Sobe ...


GOSTEI 0
Luciohc

Luciohc

14/04/2005

sobe ...


GOSTEI 0
Rômulo Barros

Rômulo Barros

14/04/2005

Já passei por isso utilizando DBExpress + ORACLE.
Solução: Remova seu :parâmetro e crie-o novamente. Após isso, configure-o o seu tipo para [b:1dba700952]ftString[/b:1dba700952].

Cds.Params.ParamByName(´Parâmetro´).AsString := DateToStr(MinhaData);


:wink:


GOSTEI 0
Luciohc

Luciohc

14/04/2005

Ok obrigado, vou tentar


GOSTEI 0
POSTAR