Fórum Consulta usando DateTimePicker #261626

12/12/2004

0

Como q eu faço para fazer uma consulta usando o DateTimePicker1
digamos q tenho uma tabela cliente, quero pegar os clientes cadastrados entre duas datas
usaria select * from cliente where data1 between data2
e usando o DateTimePicker1 xcomo faço?

valeu galera!!!!


Luiz_aquino

Luiz_aquino

Responder

Post mais votado

13/12/2004

Colega,

A instrução SQL parametrizada :
select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal


A passagem de parametros para a Query :
with SuaQuery do
begin
  Close;
  ParamByName(´datainicial´).AsDate:= DateTimePicker1.Date;
  ParamByName(´datafinal´).AsDate:= DateTimePicker2.Date;
  Open;
end;


Espero ter ajudado...
T+


Vinicius2k

Vinicius2k
Responder

Gostei + 1

Mais Posts

13/12/2004

Luiz_aquino

fiquei meio confuso
A instrução SQL parametrizada :
Código:
select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal

devo fazer estilo
query.close;
query.sql.add(´select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal ´);
query.open;

ou so coloco na string da query?

e depois
passagem de parametros para a Query :
Código:
with SuaQuery do
begin
Close;
ParamByName(´datainicial´).AsDate:= DateTimePicker1.Date;
ParamByName(´datafinal´).AsDate:= DateTimePicker2.Date;
Open;
end;

outra duvida, pq quando vou fazer um consulta em sql os campo so aceitam string exemplo select * from cliente wher codigo = ´´+Edit1.TExt+´´
onde esta o edit soh aceita string, não pode ser um int ou um date mesmo, na instrução q vc passo :datainicial, se ele não é uma string não vai dar erro?

valeu!!!!


Responder

Gostei + 0

13/12/2004

Luiz_aquino

ahh tbm uma coisa, a datainicial e datafinal são variaveis ou campos de uma tabela?


Responder

Gostei + 0

13/12/2004

Vinicius2k

Colega,
devo fazer estilo
query.close;
query.sql.add(´select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal ´);
query.open;
ou so coloco na string da query? e depois passagem de parametros para a Query :
with SuaQuery do 
begin 
  Close; 
  ParamByName(´datainicial´).AsDate:= DateTimePicker1.Date; 
  ParamByName(´datafinal´).AsDate:= DateTimePicker2.Date; 
  Open; 
end;[code] 
Tanto faz... tanto vc pode fixar esta SQL diretamente no componente, ou passá-lo em runtime... fica a seu critério. A única coisa que vc precisa fazer é informar os valores para os parametros antes de abrir a query.
outra duvida, pq quando vou fazer um consulta em sql os campo so aceitam string exemplo select * from cliente wher codigo = ´´+Edit1.TExt+´´ onde esta o edit soh aceita string, não pode ser um int ou um date mesmo, na instrução q vc passo :datainicial, se ele não é uma string não vai dar erro? valeu!!!!
Não é bem assim... a propriedade Text do TEdit é String então ela só pode ser concatenada com outra String, no caso, ´select * ....´ Note que não existe concatenação (+) na instrução que eu lhe passei... tudo é uma única string SQL com dois parametros. :datainicial e :datafinal não são colunas da tabela e nem variáveis da aplicação. São parametros da instrução SQL -- é outro conceito. O determinante de um parametro é o ´:´ (dois pontos) antes do nome. Quando vc usa parametros tudo fica mais fácil, afinal, vc precisa informar apenas o valor para o parametro antes de abrir a query que as demais operações ficarão por conta da aplicação. Principalmente operações de conversão, como o tipo Date, por exemplo. O formato de data aceito pelos diversos bancos de dados podem variar bastante e ao fazer : [code]SuaQuery.ParamByName(´datainicial´).AsDate:= Date;

Todo o trabalho de conversão será efetuado pela aplicação e vc não precisará se preocupar com qual formato banco aceita, e nem com configurações regionais do S.O.

T+


Responder

Gostei + 0

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

Aceitar