Data com campo tipo CHAR
Caro amigos,
Tenho um campo em minha tabela na qual recebe as datas ao serem efetuadas as vendas. E este campo é do tipo char e nao date!!.
Algumas consultas dao certinho, por exemplo quando eu coloco datas do mesmo dia em ambos campos ou quando a consulta é feito com as primeiras datas das vendas, mas quando a consulta é feita com datas mais a frente, ela resulta tambem todas as outras anteriores,
Vejam abaixo o codigo
query.Close;
query.sql.clear;
query.sql.add(´Select * from Vendas,Itens,Clientes, Produtos´);
query.sql.add(´where Vendas.codcli= Clientes.codcli and Itens.codvenda = Vendas.codvenda and itens.codproduto = produtos.codproduto and ´);
query.sql.add(´vendas.data >= :D1 and vendas.data <= :D2 ´);
query.sql.add(´order by Itens.codvenda´);
query.Params[0].AsString:= maskedit1.Text;
query.Params[1].AsString:= maskedit2.Text;
query.Open ;
O que poderia estar dando de errado??
Agradeço desde já qualquer ajuda...
Tenho um campo em minha tabela na qual recebe as datas ao serem efetuadas as vendas. E este campo é do tipo char e nao date!!.
Algumas consultas dao certinho, por exemplo quando eu coloco datas do mesmo dia em ambos campos ou quando a consulta é feito com as primeiras datas das vendas, mas quando a consulta é feita com datas mais a frente, ela resulta tambem todas as outras anteriores,
Vejam abaixo o codigo
query.Close;
query.sql.clear;
query.sql.add(´Select * from Vendas,Itens,Clientes, Produtos´);
query.sql.add(´where Vendas.codcli= Clientes.codcli and Itens.codvenda = Vendas.codvenda and itens.codproduto = produtos.codproduto and ´);
query.sql.add(´vendas.data >= :D1 and vendas.data <= :D2 ´);
query.sql.add(´order by Itens.codvenda´);
query.Params[0].AsString:= maskedit1.Text;
query.Params[1].AsString:= maskedit2.Text;
query.Open ;
O que poderia estar dando de errado??
Agradeço desde já qualquer ajuda...
Heltonet
Curtidas 0
Respostas
Smaug_84
17/10/2003
cara se vc vai usar um campo para data declare como date
se declarar como char na hora de verificar algo entre uma data e outra na vai dar certomesmo
em char
10/10/2003 > 09/12/2999
já em date nao
se declarar como char na hora de verificar algo entre uma data e outra na vai dar certomesmo
em char
10/10/2003 > 09/12/2999
já em date nao
GOSTEI 0
Mccs
17/10/2003
Caro Helton,
testa o código abaixo:
troca esta linha:
query.sql.add(´vendas.data >= :D1 and vendas.data <= :D2 ´);
por esta
query.sql.add(´vendas.data BETWEEN :D1 AND :D2 ´);
Acredito que isso resolva seu problema, mesmo com campo CHAR.
Abraço,
Marcelo
testa o código abaixo:
troca esta linha:
query.sql.add(´vendas.data >= :D1 and vendas.data <= :D2 ´);
por esta
query.sql.add(´vendas.data BETWEEN :D1 AND :D2 ´);
Acredito que isso resolva seu problema, mesmo com campo CHAR.
Abraço,
Marcelo
GOSTEI 0