Fórum passagem de parametros : extract( year from data) #390876

19/11/2010

0

Ola Pessoal

  Help !

--->encrenca com  a passagem de parametro de ano

tenho um 
a)    edit1.text -> entrade um valor equivalente ao ano  --> ex 2010
b)    uma query no command.text do CDdatset :
            ->select   nome, data  from  tabela1  where  extract(year from data)=2010
          
=====tudo ok -- funciona bem

c)    mesma  query no command.text do CDdatset, agora com passagem de parametro
            ->select   nome, data  from  tabela1  where  extract(year from data):=wdatda
                params[0].asinteger:=strtoint(edit1.text)

======query vazia, isto é, não le o ano de 2010 passado no campo edti1.text

  qual o problema amigos?

 

  cilmar




Cilmar Rosa

Cilmar Rosa

Responder

Posts

19/11/2010

Carlos Phelippe

Amigo,
não seria assim?

select   nome, data  from  tabela1  where  extract(year from data) = :wdatda
Responder

Gostei + 0

20/11/2010

Elton Rosa

Como o colega CARLOS postou, o correto é usar assim mesmo :" select nome, data from tabela1 where extract(year from data) = :wdatda "Lembrando que não pode haver espaço depois dos 02 pontos.
Responder

Gostei + 0

20/11/2010

Cilmar Rosa

Ola

 Perdoe-me, passei o sinal trocado.

  o correto

a)    edit1.text -> entrade um valor equivalente ao ano  --> ex 2010
b)    uma query no command.text do CDdatset :
            ->select   nome, data  from  tabela1  where  extract(year from data)=2010
          
=====tudo ok -- funciona bem

c)    mesma  query no command.text do CDdatset, agora com passagem de parametro
            ->select   nome, data  from  tabela1  where  extract(year from data)=:wdatda
                params[0].asinteger:=strtoint(edit1.text)

======query vazia, isto é, não le o ano de 2010 passado no campo edti1.text

 a questao continua a mesma

    cilmar
Responder

Gostei + 0

22/11/2010

Wilson Junior

- Verifique se o "strtoint(edit1.text)" está retoprnando o valor corretamente (no seu exemplo "2010");
- Verifique as propriedades do seu parâmentro criado "wdata".

Espero ter colaborado.
Responder

Gostei + 0

06/12/2010

Cilmar Rosa

Ola

  Não estou conseguindo resolver esta parada.

  repetindo

  Montei um Datamodule para consulta e relatorios no DBGRID

  uso DBexpress

  faço a conexão via Sqlquery + DProvider e crio as consultas SQL no Client Dataset via command. text.

  Com isso faço varios relatorios com o mesmo trio SQL+DP+CD

 Tudo funciona oK.

Ao montar uma consulta sql usando extract (year from data) :
1-se passar direto o ano : extract (year from data)=2010
   funciona legal
2- se passar o ano como parametro ( tipo integer)

   nao lê o resultado correto

  o que pode estar ocorrendo?

 
 cilmar
 
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar