Converter campo string em formato data em dbf
Pessoal, pode ate ser besteira, mas to sofrendo um pouco com isso.
Tenho um dbf que tem um campo formato data(99/99/999) character, 10, preciso em delphi fazer um sql parecido isso :
Query1.Sql.Add('select * from cadmov where Data Between :dt1 and :dt2 and TT = :tt');
Quando faco : Query1.Sql.Add('select * from cadmov where Data = :dt1');// and TT = :tt');, funciona porque ele pega literalmente a string do campo e faz a busca.
Acho que tenho que converter o campo antes de adicionar na sql, estou certo? Se sim como fazer?
Agradeco qualquer ajuda,
Alexandre Torres
Tenho um dbf que tem um campo formato data(99/99/999) character, 10, preciso em delphi fazer um sql parecido isso :
Query1.Sql.Add('select * from cadmov where Data Between :dt1 and :dt2 and TT = :tt');
Quando faco : Query1.Sql.Add('select * from cadmov where Data = :dt1');// and TT = :tt');, funciona porque ele pega literalmente a string do campo e faz a busca.
Acho que tenho que converter o campo antes de adicionar na sql, estou certo? Se sim como fazer?
Agradeco qualquer ajuda,
Alexandre Torres
Alexandre Torres
Curtidas 0
Respostas
Alexandre Torres
30/03/2011
Consegui obter algum resultado usando isso no where :'from cadmov where (cast(Data as date) between :dt1 and :dt2) and TT = :tt');
Mas numa busca por data 01/03/2011 a 30/03/2011 ele me retorna registros com data do dia 03/02/2011.
Agradeco qualquer resposta.
Mas numa busca por data 01/03/2011 a 30/03/2011 ele me retorna registros com data do dia 03/02/2011.
Agradeco qualquer resposta.
GOSTEI 0
Leonardo Xavier
30/03/2011
Cara tenta assim:
sql.add('select *from receita WHERE datainicial between #'+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# AND #'+formatdatetime('yyyy-mm-dd',DateTimePicker2.date)+'# order by datainicial');
sql.add('select *from receita WHERE datainicial between #'+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# AND #'+formatdatetime('yyyy-mm-dd',DateTimePicker2.date)+'# order by datainicial');
GOSTEI 0
Alexandre Torres
30/03/2011
Cara tenta assim:
sql.add('select *from receita WHERE datainicial between #'+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# AND #'+formatdatetime('yyyy-mm-dd',DateTimePicker2.date)+'# order by datainicial');
sql.add('select *from receita WHERE datainicial between #'+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# AND #'+formatdatetime('yyyy-mm-dd',DateTimePicker2.date)+'# order by datainicial');
Obrigado pela resposta,dessa forma ai recebo esse erro : exception message : Invalid use of keyword. Token: #2011-03-01# Line Number: 1. Já tentei mudar o formato para yyyy/mm/dd, tentei tambem mm/dd/yyyy, mas nada deu jeito.
Agradeco a ajuda.
Alexandre Torres
GOSTEI 0
José
30/03/2011
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0