Passar parâmetro tipo data no DBExpress para SQLServer
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]
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
Curtidas 0
Respostas
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.
CDS.Params.ParamByName(´DATA´).AsDate:=DataValida;
Se fosse passado como AsDateTime tava problema.
Espero ter ajudado.
GOSTEI 0
Luciohc
14/04/2005
Gente, por favor isso, ajuda ai !
GOSTEI 0
Luciohc
14/04/2005
Sobe...
GOSTEI 0
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
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
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
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
14/04/2005
Sobe...
GOSTEI 0
Luciohc
14/04/2005
Sobe ...
GOSTEI 0
Luciohc
14/04/2005
sobe ...
GOSTEI 0
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].
:wink:
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
14/04/2005
Ok obrigado, vou tentar
GOSTEI 0