Obrigado pela resposta Vítor!

Só não entendi o seguinte:

* Não estou usando uma SP. É uma instrução SQL "solta" e eu passo alguns 
parametros pra ela. E o tipo de dados do campo que recebe a data, no BD é o 
tipo DATE. Passei como String pq mesmo passando como AsDate e AsDateTime não 
tinha o retorno desejado, ou seja, havia(m) registro(s ) correspondendo aos 
parâmetros passados, quando executo pela aplicação.

* Vc falou em CAST() e eu chegueu a fazer. Tive duas tentativas:
{1ª Tentativa ...}
 Add(' And DATAANOTSERV = Cast(:par03 as Date)' );
{...}

{2ª Tentativa...}
 Add(' And Cast(DATAANOTSERV  as Varchar(10)) = :par03' );
{..}

Mas em nenhuma das duas alternativas tive algo produtivo e, não me lembro em 
qual delas, tive um erro de conversão. (Provavelmente foi na 2ª tentativa)

Grato,
Ricardo.

Vitor Redes <[EMAIL PROTECTED]> escreveu:                                       
    Não é isso... o retorno do IBExpert que estão utilizando como
 exemplo, é tratado dentro do próprio.
 
 O padrão de datas do Firebird é mm/dd/yyyy e não tem conversa
 hehehe. 
 
 Teste o seguinte, na stored procedure altere o tipo da variável de entrada
 para Varchar( 10 ), na chamada pelo delphi, faça como falaram:
 
 ParamByName( 'par03'). AsString := FormatDateTime( 'mm/dd/yyyy'
 ,pDATAANOTSERV) ;
 
 Caso queira utilizar a variável como Data mesmo na SP, faça um Cast para
 outra variável:
 
 VARIAVEL_DATA = CAST( VARIAVEL AS DATE );
 
 Vitor.
 
 _____  
 
 De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
 nome de Wilian Domingues - Analista de
 Enviada em: sexta-feira, 5 de outubro de 2007 11:43
 Para: delphi-br@yahoogrupos.com.br
 Assunto: Res: Res: [delphi-br] Problema com Parâmetro em formato de Data
 
 No Front-end o formato é o padrão, 'dd/mm/yyyy'.
 
 Pelo Delphi que vc tem que informar a data no formato 'mm/dd/yyyy'.
 
 Passei por este problemas tbm.
 
 Att.
 Wilian Domingues
 Analista de Sistemas
 
 ----- Mensagem original ----
 De: Ricardo César Cardoso <ricardo_engsoft@
 <mailto:ricardo_engsoft%40yahoo.com.br> yahoo.com.br>
 Para: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br
 Enviadas: Sexta-feira, 5 de Outubro de 2007 11:39:22
 Assunto: Re: Res: [delphi-br] Problema com Parâmetro em formato de Data
 
 Obrigado pela sugestão Wilian, mas quando faço pesquisas no banco pelo
 front-end, a data vem no formato dd/mm/aaaa. Qual seria a influência em
 fazer como vc propôs?
 
 Desde já grato,
 
 Ricardo.
 
 Wilian Domingues - Analista de <w1l14n_analista@ yahoo.com. br> escreveu:
 Mude a linha:
 
 ParamByName( 'par03'). AsString := pDATAANOTSERV;
 
 Para:
 
 ParamByName( 'par03'). AsString := FormatDateTime( 'mm/dd/yyyy'
 ,pDATAANOTSERV) ;
 
 Att.
 
 Wilian Domingues
 
 Analista de Sistemas
 
 ----- Mensagem original ----
 
 De: Ricardo César Cardoso <ricardo_engsoft@ yahoo.com. br>
 
 Para: [EMAIL PROTECTED] os.com.br
 
 Enviadas: Sexta-feira, 5 de Outubro de 2007 8:46:22
 
 Assunto: [delphi-br] Problema com Parâmetro em formato de Data
 
 Bom dia companheiros de lista.
 
 Tenho a seguinte função:
 
 ************ ********* ********* ********* **
 
 Function PegaNUMANOTSERV( aNUMMAQCAMVEI, aNBOLANOTSERV: Integer;
 aDATAANOTSERV:
 
 TDate; aTIPOANOTSERV, aTROLEOANOTSERV: String): Integer;
 
 Var
 
 Temp : Integer;
 
 aSQL : TSQLQuery;
 
 Begin
 
 aSQL := TSQLQuery.Create( nil);
 
 with aSQL do
 
 begin
 
 SQLConnection := dm.ConSENPAR;
 
 with SQL do
 
 begin
 
 Add('Select NUMANOTSERV ' );
 
 Add('From ANOTSERV ' );
 
 Add('Where NUMMAQCAMVEI = :par01' );
 
 Add(' And NBOLANOTSERV = :par02' );
 
 Add(' And DATAANOTSERV = :par03' );
 
 Add(' And TIPOANOTSERV = :par04' );
 
 Add(' And TROLEOANOTSERV = :par05' );
 
 end;
 
 ParamByName( 'par01'). AsInteger := aNUMMAQCAMVEI;
 
 ParamByName( 'par02'). AsInteger := aNBOLANOTSERV;
 
 ParamByName( 'par03'). AsString := pDATAANOTSERV;
 
 ParamByName( 'par04'). AsString := aTIPOANOTSERV;
 
 ParamByName( 'par05'). AsString := aTROLEOANOTSERV;
 
 Open;
 
 end;
 
 Temp := aSQL.Fields[ 0].AsInteger;
 
 aSQL.Free;
 
 Result := Temp;
 
 End;
 
 *** 
 
 Sempre que tento passar a data para o banco de dados como parâmetro o banco
 não retorna os dados esperados. O campo DATAANOTSERV é do tipo DATE e o
 banco de dados é Firebird v1.5.2
 
 Tentei passar o parâmetro como Date (AsDate e AsDateTime) e como String
 (AsString) mas mesmo tendo registros que atendam aos requisitos da consulta,
 nenhum dado é retornado quando a consulta é feita pela aplicação.
 
 Fazendo a mesma consulta num front-end (IBExpert) a consulta retorna os
 dados normalmente.
 
 Não tenho nenhuma mensagem de erro em nenhuma das adaptações que tentei.
 
 Grato,
 
 Ricardo.
 
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
 armazenamento! 
 
 [As partes desta mensagem que não continham texto foram removidas]
 






       Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]

Responder a